【发布时间】:2019-09-18 06:34:31
【问题描述】:
我有一个生成 openssl sha256 密钥的 .sh 文件
$(echo -n ${DATA} | openssl sha256 -binary | base64)
并且需要生成相同的密钥以将其与在我的 php 文件中使用 sha256 进行比较,旧的密钥是 sha1。 这是我现在的 php 代码,它输出精细的 sha1 字符串。
$params['Code'] = base64_encode(sha1($params['Product'] . $params['Model'] . $params['Number'],true));
我将 sha1 更改为 sha256,但出现内部服务器错误。
【问题讨论】:
-
“需要生成相同的密钥”是什么意思? sha1 和 sha256 会生成不同的哈希值。此外,没有任何
sha256()功能。使用hash('sha256', $theValueToHash)。 -
对不起,我的意思是 .sh 文件生成的相同密钥。现在 sha1 与 .sh 文件不同。
-
然后将您的
sha1()-function 更改为第一条评论中建议的函数,看看是否效果更好。 -
谢谢,这是我的问题,我不知道如何,就像说我只是用sha256更改了sha1,显然不正确。因此寻求帮助。
-
对于未来,您需要在发布之前进行一些适当的研究。如果你用谷歌搜索类似:"php sha256",你会比写问题更快地找到答案。