久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

升級到 1.45 時出現(xiàn) BouncyCastle AES 錯誤

BouncyCastle AES error when upgrading to 1.45(升級到 1.45 時出現(xiàn) BouncyCastle AES 錯誤)
本文介紹了升級到 1.45 時出現(xiàn) BouncyCastle AES 錯誤的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

問題描述

最近從 BC 1.34 升級到 1.45.我正在使用以下內(nèi)容解碼一些先前編碼的數(shù)據(jù):

Recently upgraded from BC 1.34 to 1.45. I'm decoding some previously-encoded data with the following:

    SecretKeySpec skeySpec = new SecretKeySpec(raw, "AES");
    Cipher cipher = Cipher.getInstance("AES");
    cipher.init(Cipher.DECRYPT_MODE, skeySpec);
    byte[] decrypted = cipher.doFinal(encrypted);

使用 BC 1.45 時出現(xiàn)此異常:

When using BC 1.45 I get this exception:

javax.crypto.BadPaddingException: pad block corrupted
 at org.bouncycastle.jce.provider.JCEBlockCipher.engineDoFinal(JCEBlockCipher.java:715)
 at javax.crypto.Cipher.doFinal(Cipher.java:1090)

有關(guān)此問題的更多信息.我正在使用以下內(nèi)容從密碼生成原始密鑰:

More about this issue. I am using the following to generate raw keys from a passphrase:

    KeyGenerator kgen = KeyGenerator.getInstance("AES", "BC");
    SecureRandom sr = SecureRandom.getInstance("SHA1PRNG", "Crypto");
    sr.setSeed(seed);
    kgen.init(128, sr);
    SecretKey skey = kgen.generateKey();
    byte[] raw = skey.getEncoded();

我發(fā)現(xiàn)這會導致 BC 1.34 和 1.45 的兩個不同值.

What I have found is that this results in two different values for BC 1.34 vs 1.45.

它也可能與 BouncyCastle 無關(guān)(我正在 Android 2.3 上測試)

It might also not be BouncyCastle-related (I am testing on Android 2.3)

推薦答案

看起來問題是 SecureRandom 不能跨 Froyo-Gingerbread 邊界移植.這篇文章描述了一個類似的問題:

Looks like the problem is SecureRandom not being portable across the Froyo-Gingerbread boundary. This post describes a similar problem:

http://groups.google.com/group/android-security-discuss/browse_thread/thread/6ec015a33784b925

我不確定 SecureRandom 中到底發(fā)生了什么變化,但我發(fā)現(xiàn)修復它的唯一方法是使用便攜式方法生成的密鑰重新加密數(shù)據(jù).

I am not sure what exactly changed in SecureRandom, but the only way I found to fix it was to reencrypt the data with keys generated using a portable method.

這篇關(guān)于升級到 1.45 時出現(xiàn) BouncyCastle AES 錯誤的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網(wǎng)!

【網(wǎng)站聲明】本站部分內(nèi)容來源于互聯(lián)網(wǎng),旨在幫助大家更快的解決問題,如果有圖片或者內(nèi)容侵犯了您的權(quán)益,請聯(lián)系我們刪除處理,感謝您的支持!

相關(guān)文檔推薦

Java Remove Duplicates from an Array?(Java從數(shù)組中刪除重復項?)
How to fix Invocation failed Unexpected Response from Server: Unauthorized in Android studio(如何修復調(diào)用失敗來自服務器的意外響應:在 Android 工作室中未經(jīng)授權(quán))
AES encryption, got extra trash characters in decrypted file(AES 加密,解密文件中有多余的垃圾字符)
AES Error: Given final block not properly padded(AES 錯誤:給定的最終塊未正確填充)
Detecting incorrect key using AES/GCM in JAVA(在 JAVA 中使用 AES/GCM 檢測不正確的密鑰)
AES-256-CBC in Java(Java 中的 AES-256-CBC)
主站蜘蛛池模板: 天天亚洲 | 欧美久久久久久久 | 国产精品视频综合 | 久热9| 久久精品小短片 | 欧美精品久久久久 | 久久久久久久久久影视 | 色综合久久天天综合网 | 国产99久久 | 欧美激情在线精品一区二区三区 | 国内精品视频一区二区三区 | 激情欧美一区二区三区 | 成人免费看 | 国产一区二区在线视频 | 欧美mv日韩mv国产网站91进入 | 日韩一级 | 亚洲精品一区二区三区在线观看 | 日本精品在线一区 | 久久国产视频网站 | 亚洲高清在线 | 欧美日韩一本 | 国产成人精品一区二区三区在线 | 欧美一级片在线看 | 亚洲三区视频 | 午夜免费在线 | 亚洲一区二区免费看 | 精品在线观看一区 | 久久99精品久久久久子伦 | 日本亚洲一区 | 成人性生交大片免费看r链接 | 中文字幕久久精品 | 爱综合| 少妇精品亚洲一区二区成人 | 久久伦理中文字幕 | 日韩精品一区二区三区中文在线 | 精品国产三级 | 欧美亚州综合 | 淫片专区| 欧美一级毛片免费观看 | 亚洲视频免费一区 | 中文字幕在线视频免费视频 |