将 sha1 转换为 sha256
Converting sha1 to sha256
我有一个生成 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,但出现内部服务器错误。
看来你想用这个:
$data = $params['Product'] . $params['Model'] . $params['Number'];
$params['Code'] = base64_encode(hash('sha256', $data, true));
但鉴于 Magnus Eriksson 的第一条评论,我也不明白为什么这很难达成。
请注意,我们无法验证这是否会产生与您期望的相同的输出。
我有一个生成 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,但出现内部服务器错误。
看来你想用这个:
$data = $params['Product'] . $params['Model'] . $params['Number'];
$params['Code'] = base64_encode(hash('sha256', $data, true));
但鉴于 Magnus Eriksson 的第一条评论,我也不明白为什么这很难达成。
请注意,我们无法验证这是否会产生与您期望的相同的输出。