2012-06-01 85 views
1

为一个小项目我需要相同的MD5散列JS和PHP。 即时通讯使用this JavaScript来一个字转换为MD5(所述.min版本)相同的MD5 JS和PHP

单词 '你好' 在

JS输出:ec59d44dee488759467970486fc9402d

PHP:5d41402abc4b2a76b9719d911017c592

所以它们不完全相同。我试过用md5(utf8_encode($word));代替md5($word);

但是都给出了相同的结果。

任何想法?帮助深表感谢

+0

PHP版本是正确的(我用MySQL检查过)。 –

+0

不明白你的问题。你是否只创建两个文件(一个PHP和一个JS)? – Alfabravo

+2

你并没有在每个中使用相同的值。 Paj的版本和PHP版本都能正常工作。所以输入值有所变化。 –

回答

4

phpjs上的md5功能给出了正确的结果。它取决于utf8_encode,所以你也需要这个。

+0

这里的重要细节是字符编码。与所有散列一样,MD5适用于二进制,它在不同的编码之间有所不同。 – DampeS8N

3

请尝试以下Demo

写打招呼。结果与PHP结果相同