php - 将 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,但出现内部服务器错误。
解决方案
看来你想用这个:
$data = $params['Product'] . $params['Model'] . $params['Number'];
$params['Code'] = base64_encode(hash('sha256', $data, true));
但鉴于 Magnus Eriksson 的第一条评论,我也不明白为什么这很难得出。
请注意,我们无法验证这是否会产生与您期望的相同的输出。
推荐阅读
- c++ - 试图从文件中读取向量并打印。想用哨兵分隔数据,哨兵一直打印到屏幕上
- facebook - 将 Facebook SDK 添加到 Unity 时如何解决 Win32Exception 错误?
- apache - Apache2 作为 Spring Boot 应用程序的代理,在登录/注销时省略斜杠
- php - 如何使用 PHP API 中 AJAX 请求中设置的“类型”/“方法”
- google-apps-script - 如何根据源电子表格中的值获取和设置列号
- sqlalchemy - 在 SqlAlchemy ORM 中的下一个查询中刷新了多少挂起的操作?
- image - QB64 无法加载图像,说“非法函数调用”
- javascript - 在 Nuxt.js 中完全呈现路由后运行函数
- python - Read_json() dask 是并行的吗?
- laravel - 是否可以在 addColumn() 中将一些变量发送到刀片视图?