小编req*_*esp的帖子

奇怪的DES行为 - 使用不同的密钥解密成功

偶尔,我会遇到一个有趣的,奇怪的事情:使用几个不同的密钥可以解密相同的加密文本块!

谁能告诉我出了什么问题?非常感谢.

请不要试图让我切换到三重DES/AES等,我只是想知道问题出在哪里 - 调用Java SDK的方式,还是Java SDK中的错误?

以下是Windows 7上的输出,在Linux框中的结果相同:

D:\>java -version
java version "1.7.0_21"
Java(TM) SE Runtime Environment (build 1.7.0_21-b11)
Java HotSpot(TM) 64-Bit Server VM (build 23.21-b01, mixed mode)

D:\>java DESTest -e 12345678 abcde977

encrypted as [17fd146fa6fdbb5db667efe657dfcb60]

D:\>java DESTest -d 17fd146fa6fdbb5db667efe657dfcb60 abcde977

decryted as [12345678]

D:\>java DESTest -d 17fd146fa6fdbb5db667efe657dfcb60 abcde976

decryted as [12345678]

D:\>java DESTest -d 17fd146fa6fdbb5db667efe657dfcb60 abcde967

decryted as [12345678]

D:\>java DESTest -d 17fd146fa6fdbb5db667efe657dfcb60 abcde867

decryted as [12345678]

D:\>java DESTest -d 17fd146fa6fdbb5db667efe657dfcb60 abcdf867
Exception in thread "main" java.lang.RuntimeException: javax.crypto.BadPaddingEx …
Run Code Online (Sandbox Code Playgroud)

java encryption des

5
推荐指数
1
解决办法
257
查看次数

标签 统计

des ×1

encryption ×1

java ×1