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

如题所述

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

将错就错可得php

<?php //ver>=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

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-04-03
可能是编码的问题吧,你PHP设置编码为UTF8呢追问

php是公司提供的,我只能改python,实现python和php一样的加密效果

相似回答