Android aes加密垫块损坏

Android aes加密垫块损坏,第1张

概述我正在使用下面的方法,如果我输入正确的密钥,一切正常.但是,如果我输入错误的密钥,我收到BadPaddingException:padblockcorrupted…难道我做错了什么?publicvoidinitKey(Stringpasswd,byte[]salt)throwsNoSuchAlgorithmException,InvalidKeySpecException,NoSuchProv

我正在使用下面的方法,如果我输入正确的密钥,一切正常.
但是,如果我输入错误的密钥,我收到BadpaddingException:pad block corrupted …
难道我做错了什么?

public  voID initKey(String passwd, byte[] salt) throws NoSuchAlgorithmException, InvalIDKeySpecException, NoSuchProvIDerException{    byte[] localsalt = salt;    PBEKeySpec password = new PBEKeySpec(passwd.tochararray(),localsalt, 1024,128);//, localsalt, 1000, 128);  //128bit enc aes   SecretKeyFactory factory = SecretKeyFactory.getInstance("PBEWithMD5And128BitAES-CBC-OpenSSL","BC");     PBEKey key = (PBEKey) factory.generateSecret(password);     encKey = new SecretKeySpec(key.getEncoded(), "AES");}public   String txt2enc(String etxt) throws NoSuchAlgorithmException, NoSuchpaddingException, InvalIDKeyException, IllegalBlockSizeException, BadpaddingException, UnsupportedEnCodingException {       final Cipher cipher = Cipher.getInstance("AES");//AES              cipher.init(Cipher.ENCRYPT_MODE, encKey);             byte[] encrypted = cipher.doFinal((etxt).getBytes("UTF-8"));       return Base64.encodetoString(encrypted, 0);}//decryptionpublic  String txt2dec(String dtxt) throws InvalIDKeyException, NoSuchAlgorithmException, NoSuchpaddingException, IllegalBlockSizeException, BadpaddingException, UnsupportedEnCodingException{    final Cipher cipher = Cipher.getInstance("AES");    cipher.init(Cipher.DECRYPT_MODE, encKey);    byte[] decrypt = cipher.doFinal(Base64.decode(dtxt, 0));    return new String(decrypt);//return Base64.encodetoString(decrypt, 0);}

解决方法:

你没有做错任何事.这是预期的.这在技术上是Java Encryption issue的副本(似乎不容易找到).请参阅此answer以获得更好的解释.您可以考虑添加MAC(消息验证代码)以安全地完成更像校验和的 *** 作.

总结

以上是内存溢出为你收集整理的Android aes加密垫块损坏全部内容,希望文章能够帮你解决Android aes加密垫块损坏所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1105075.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-28
下一篇2022-05-28

发表评论

登录后才能评论

评论列表(0条)

    保存