首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >计算字节数组的SHA-256。

计算字节数组的SHA-256。
EN

Stack Overflow用户
提问于 2012-12-31 10:27:12
回答 2查看 6.9K关注 0票数 4

下面的代码中有一个字符串$concate。我计算了字符串的字节数组如下:

代码语言:javascript
运行
复制
for($i = 0; $i < strlen($concate); $i++){
    $binary[] = ord($concate[$i]);
}

现在我想计算字节数组$binary的SHA-256散列,但我不知道如何做到这一点。有人建议吗?

我要做的是:-

  1. 计算字符串的二进制(使用utf-8编码)(例如- "hello world")。
  2. 计算步骤1的结果的SHA-256。
  3. 计算步骤2输出的十六进制。
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-12-31 10:33:33

字符串本身是二进制格式的。所以hash('sha256', $concate)就足够了。如果希望输出为二进制,请将第三个参数设置为true。

代码语言:javascript
运行
复制
$hash = hash('sha256', $concate, true); // or
$hash = hex2bin(hash('sha256', $concate)); // provides same output as above

它将是二进制字符串而不是十六进制字符串。

有关说明,请参见这个例子

票数 9
EN

Stack Overflow用户

发布于 2012-12-31 10:33:41

您可以将二进制数据存储在PHP-字符串中。没有必要将其转换为字节数组。我想这就是你要找的。

代码语言:javascript
运行
复制
echo hash('sha256', $concate);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14100397

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档