MD5 ByteArray AS3和Java之间的区别

时间:2009-09-11 22:34:56

标签: java actionscript-3 md5

我正在尝试将Java中的库移植到AS3中,而我正在使用MD5函数。我在这里使用MD5库作为项目的一部分:http://code.google.com/p/as3crypto/

我的长度正确,大约一半的值是正确的。具有讽刺意味的是,正确的值也在正确的位置。只有负值是错误的。例如,两个哈希产生:

Java:[127,-16,107,-93,-103,1,104,-5,-111,12,-126,-91,61,32,-67,61]
AS3:[127,240,107,163,153,1,104,251,145,12,130,165,61,32,189,61]

我已经验证了它们正在散列的源字符串是完全相同的。不确定什么可以以不同的方式实现,或者我需要在自己的实现中进行更改。

2 个答案:

答案 0 :(得分:4)

-93和163是相同的东西

正在发生的事情是您将位字符串打印为带符号的数字,并且您没有在脑中运行二进制补码过滤器来评估结果。

提示:请注意你的所有“错误”值是-(256 -("correct" value))

答案 1 :(得分:0)

事实证明这个问题正是上面的digitalross所提到的,但要求我进入MD5类,并处理所有类型为uint的实例,并将它们移动为int类型。

感谢指针