为什么用delphi和java针对同一信息做DES算法加密出来的结果不一样? 难道是算法实现不一样?各位大侠有没有碰到过这种情况? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 实现有错误也是又可能的,但是如果你解密正确,那么实现通常是正确的,不过即使是正确的实现,它们的加密结果也可能是不同的,这其中有个Initial Vector(不知道它们的专业术语怎么讲)的问题,在某些环境下,象“两次加密的得到的密文一样”或者“报告师座,共军重复发送了这个密文两次了”这样的信息对于攻击者来说是有用的信息,为了让分析密文的人失去了得到这个信息的可能性,通常,高强度的加密算法会设计一个类似于IV这样的东西,初始化加密盒时它们就被赋予随机的数据,或者在明文的首部或其他地方插入了类似随机信息这样的东西,这样就使得对同一个密钥加密同一段明文,每次加密它们得到的密文都是不一样的当然,为了顺利解密,密文中会包含这个可以公开的IV信息,而这个IV和密钥、明文以及加密时间地点是没有任何关系的,因而它是安全的我不懂、不了解DES,因此以上的内容可能不适用于DES 其实楼主可以交叉验证一下用java的实现来加密,用delphi的实现来解密然后再反过来,用delphi的实现来加密,用java的实现来解密如果都通过了,实现是错误的可能性就很小了否则,那么至少有一个实现是错的 急等,打印排队,救命啊 如何显示出小数点,急急急 QuickReport问题:怎样为QUICKREPORT动态创建QRDBText对象,使它能够显示数据库中的某列? 问个简单的 随机取数 自定义记录文件 nil是什么意思?? 送分100分:关于string变量的使用问题。 可能是动态数组的问题,谁能帮我解答我再另给100分 求购中控门禁C3-100 delphi源码 关于ShockwaveFlash控件在改变大小时的问题! custtask.DLL,dtspkg.dll,dtspump.DLL:知道的大侠请进!!小鬼莫入!
但是如果你解密正确,那么实现通常是正确的,
不过即使是正确的实现,它们的加密结果也可能是不同的,这其中有个Initial Vector(不知道它们的专业术语怎么讲)的问题,
在某些环境下,象“两次加密的得到的密文一样”
或者“报告师座,共军重复发送了这个密文两次了”
这样的信息对于攻击者来说是有用的信息,
为了让分析密文的人失去了得到这个信息的可能性,
通常,高强度的加密算法
会设计一个类似于IV这样的东西,初始化加密盒时它们就被赋予随机的数据,
或者在明文的首部或其他地方插入了类似随机信息这样的东西,
这样就使得对同一个密钥加密同一段明文,每次加密它们得到的密文都是不一样的当然,为了顺利解密,密文中会包含这个可以公开的IV信息,
而这个IV和密钥、明文以及加密时间地点是没有任何关系的,因而它是安全的我不懂、不了解DES,因此以上的内容可能不适用于DES
然后再反过来,用delphi的实现来加密,用java的实现来解密如果都通过了,实现是错误的可能性就很小了
否则,那么至少有一个实现是错的