使用sha将python代码转换为php

2024-09-29 22:29:36 发布

您现在位置:Python中文网/ 问答频道 /正文

在将python转换为php时遇到问题。我用python编写了以下代码:

user = "DdrkmK5uFKmaaeNqfqReMADSUJ4sVSLrV2A8Bvs8"
passing = "K9hvwANSBW5tLYzuWptWMByTtzZZKHzm"

sha = hashlib.sha256()
sha.update(user)
sha.update(passing)
sha_A = [ord(x) for x in sha.digest()]

sha_A是以下数组:

[231、13、239、136、20、198、76、121、67、163、251、153、114、13、65、203、41、37、64、168、43、69、81、103、235、161、15、58、82、57、217、178]


我已经将其转换为php:

^{pr2}$

但是返回的数组$sha看起来像这个:

[101、51、98、48、99、52、52、50、57、56、102、99、49、99、49、99、49、49、49、97、102、98、102、52、99、56、57、57、54、102、98、57、50、52]

也许你们中的一些人会发现我的错误?在


Tags: 代码inforupdate数组hashlibphpsha
1条回答
网友
1楼 · 发布于 2024-09-29 22:29:36

我在你的PHP代码中看到了一些错误。在

这是一个python片段:

>>> sha = hashlib.sha256()
>>> sha.update(user)
>>> sha.update(passing)
>>> sha_A = [ord(x) for x in sha.digest()]
[135, 146, 107, 215, 70, 126, 179, 21, 19, 177, 191, 236, 182, 136, 192, 53, 148, 42, 160, 24, 63, 224, 170, 211, 32, 131, 59, 146, 60, 162, 77, 2]

以及PHP版本,更正如下:

^{pr2}$

在PHP版本中,$sha = hash_update($sha, $user);是错误的,因为hash_update返回一个布尔值。第一个参数称为context,是hash_init的结果,第二个参数是要散列的数据。最后,用最后一个参数(raw_output)调用hash_final来获得二进制数据。在

最后一个错误,在SHA结果上使用openssl_digest是在计算SHA摘要的摘要?:). 在

相关问题 更多 >

    热门问题