【发布时间】:2012-05-18 21:43:24
【问题描述】:
我对 Android/Java 中的 AES 加密一无所知
我从这里得到这个代码http://www.androidsnippets.com/encryptdecrypt-strings
我在解密时收到以下错误,是否我的代码有问题?(我将加密值从一个活动传递到另一个活动)
05-18 13:49:58.828: W/System.err(3350): javax.crypto.BadPaddingException: pad block corrupted
05-18 13:49:59.133: W/System.err(3350): at org.bouncycastle.jce.provider.JCEBlockCipher.engineDoFinal(JCEBlockCipher.java:653)
05-18 13:49:59.148: W/System.err(3350): at javax.crypto.Cipher.doFinal(Cipher.java:1116)
05-18 13:49:59.153: W/System.err(3350): at com.spacenext.noserver2.SimpleCrypto.decrypt(SimpleCrypto.java:55)
05-18 13:49:59.158: W/System.err(3350): at com.spacenext.noserver2.SimpleCrypto.decrypt(SimpleCrypto.java:28)
加密
05-18 15:07:32.283: I/Home(3341): 530AEA4983C93379EB512387B4E547522C1E310AD6E7752AF5B9F91C329D313315FDDA853E60C78EA618211A37BA8A47
在另一个活动中收到加密消息
05-18 15:07:55.382: I/Home(7871): 530AEA4983C93379EB512387B4E547522C1E310AD6E7752AF5B9F91C329D313315FDDA853E60C78EA618211A37BA8A47
两者是相同的,但是当消息在另一个活动中被解密时,它会抛出一个错误消息..
【问题讨论】:
-
看看这里:stackoverflow.com/questions/868776/… 并检查 iv 参数
-
那段代码实在是太糟糕了,并且包含了各种可能随时反噬你的陷阱。使用您提供的信息无法判断是导致您的问题的那些陷阱之一还是您正在做的事情。
-
GregS 当消息从同一部手机发送到另一部手机时,该代码工作得非常好,但从一部手机发送到另一部手机时,它就不起作用了
标签: android encryption aes