PHP如何实现一个长尾词的sha-256哈希算法实例?
- 内容介绍
- 文章标签
- 相关推荐
本文共计5821个文字,预计阅读时间需要24分钟。
目录+前言+准备一:代码主体+准备二:辅助函数+步骤一:字符串转二进制+步骤二:追加数字+步骤三:填充至512的倍数+步骤四:追加原始长度信息+步骤五:分割区块并填充至2048位
目录
- 前言
- 准备一:代码主体
- 准备二:助手函数
- 步骤一:字符串转二进制
- 步骤二:追加数字 1
- 步骤三:填充至 512 的倍数
- 步骤四:追加原始长度信息
- 步骤五:切分区块并填充至 2048 位
- 步骤六:区块数据修改
- 步骤七:压缩
- 总结
前言
哈希 又称作 “散列”,它接收任何一组任意长度的输入信息,通过 哈希 算法变换成固定长度的数据指纹,该指纹就是 哈希值。总体而言,哈希 可理解为一种消息摘要。
在 PHP 中有这个函数 hash(),可以计算字符串的哈希值,出于好奇我 Google 了一下哈希计算的具体步骤,并使用 PHP 编写了一套计算 sha-256 哈希值的代码。当然除了 sha-256 以外还有一些别的哈希算法,只是目前 sha-256 用的多一些。
本文共计5821个文字,预计阅读时间需要24分钟。
目录+前言+准备一:代码主体+准备二:辅助函数+步骤一:字符串转二进制+步骤二:追加数字+步骤三:填充至512的倍数+步骤四:追加原始长度信息+步骤五:分割区块并填充至2048位
目录
- 前言
- 准备一:代码主体
- 准备二:助手函数
- 步骤一:字符串转二进制
- 步骤二:追加数字 1
- 步骤三:填充至 512 的倍数
- 步骤四:追加原始长度信息
- 步骤五:切分区块并填充至 2048 位
- 步骤六:区块数据修改
- 步骤七:压缩
- 总结
前言
哈希 又称作 “散列”,它接收任何一组任意长度的输入信息,通过 哈希 算法变换成固定长度的数据指纹,该指纹就是 哈希值。总体而言,哈希 可理解为一种消息摘要。
在 PHP 中有这个函数 hash(),可以计算字符串的哈希值,出于好奇我 Google 了一下哈希计算的具体步骤,并使用 PHP 编写了一套计算 sha-256 哈希值的代码。当然除了 sha-256 以外还有一些别的哈希算法,只是目前 sha-256 用的多一些。

