MD5 ByteArray AS3和Java之间的区别
-
06-07-2019 - |
题
我正在尝试将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]
我已经验证了它们正在散列的源字符串是完全相同的。不确定什么可以以不同的方式实现,或者我需要在自己的实现中进行更改。
解决方案
-93和163是相同的东西
正在发生的事情是您将位字符串打印为带符号的数字,并且您没有在脑中运行二进制补码过滤器来评估结果。
提示:注意你的所有“不正确”。值是 - (256 - (“正确的”值)))
?
其他提示
事实证明这个问题正是上面的digitalross所提到的,但要求我进入MD5类,并处理所有类型为uint的实例,并将它们移动为int类型。
感谢指针
不隶属于 StackOverflow