Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/427.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SHA1 hmac PHP与Javascript-不同的结果?_Php_Javascript_Sha1 - Fatal编程技术网

SHA1 hmac PHP与Javascript-不同的结果?

SHA1 hmac PHP与Javascript-不同的结果?,php,javascript,sha1,Php,Javascript,Sha1,你好 我正在使用javascript中的类散列字符串: 结果是: 5db0194c834d419fc5d68b72c88af1ac8ee749d6 在PHP中,我使用哈希: echo hash_hmac('sha1', "asdasdasdasdś", '927545161'); 但结果是: 0b115775a20bed9922b6a9cc934cb5328fe71ade 错误在哪里? 5db0194c834d419fc5d68b72c88af1ac8ee749d6!=0b115775a20

你好 我正在使用javascript中的类散列字符串:

结果是: 5db0194c834d419fc5d68b72c88af1ac8ee749d6

在PHP中,我使用哈希:

echo hash_hmac('sha1', "asdasdasdasdś", '927545161');
但结果是: 0b115775a20bed9922b6a9cc934cb5328fe71ade

错误在哪里?
5db0194c834d419fc5d68b72c88af1ac8ee749d6!=0b115775a20bed9922b6a9cc934cb5328fe71ade

PHP将UTF-8字符串解释为8位字符序列。而在Javascript中,每个字符都可以解析为Unicode代码点


压缩且完全不可读的Javascript实现使用.charCodeAt将字符串转换为hexstring。我没有费心去彻底研究它,但很可能ś.charCodeAt0只是解析为347,其余的转换期望值在8位范围0到255之间。

PHP将UTF-8字符串解释为8位字符序列。而在Javascript中,每个字符都可以解析为Unicode代码点


压缩且完全不可读的Javascript实现使用.charCodeAt将字符串转换为hexstring。我没有费心去彻底研究它,但很可能ś.charCodeAt0只是解析为347,其余的转换期望值在8位范围0到255之间。

我也猜这与文件编码/unicode问题有关。我在php和JS页面中使用UTF-8。UTF-8字符的问题是:echo hash_hmac('sha1', "asdasdasdasdś", '927545161');