首页 > 解决方案 > 将 sha1 转换为 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,但出现内部服务器错误。

标签: phpbinarysha256

解决方案


看来你想用这个:

$data = $params['Product'] . $params['Model'] . $params['Number'];
$params['Code'] = base64_encode(hash('sha256', $data, true));

但鉴于 Magnus Eriksson 的第一条评论,我也不明白为什么这很难得出。

请注意,我们无法验证这是否会产生与您期望的相同的输出。


推荐阅读