python3的密钥加密和PHP的密钥加密结果不一样,PHP的代码不变,怎么实现让python3密钥加密后和PHP的一样

2024-11-01 08:53:55
推荐回答(2个)
回答1:

明显python代码有误用散列的情况...

将错就错可得php

=5.1.2
$pkey="91ebf1be3-OptServiceAPI-d580ea24";
$text="admin";
$s=hash('sha256', $pkey.$text);
echo $s;
adc7c61446b56a2637ec1284b7c0083723edf9c879c20196b21377cc5b3af337

刚没看到是要py匹配php...

手上没有低版本测,所以这个代码要py 3.7以上才能运行

import hmac
pkey="91ebf1be3-OptServiceAPI-d580ea24";
text="admin";
s=hmac.digest(pkey.encode("UTF-8"), text.encode("UTF-8"), "sha256")
print(s.hex())
f4bbdf689582bccf4b13096fa27c3508e762bb9eb16f6f91b7a7d78b13c06ab5

回答2:

可能是编码的问题吧,你PHP设置编码为UTF8呢