首页 >后端开发 >PHP问题 >php中的hash方法有哪些

php中的hash方法有哪些

青灯夜游
青灯夜游原创
2022-01-24 14:26:084533浏览

php中的hash方法:hash_algos()、hash_copy()、hash_equals()、hash_file()、hash_final()、hash_hkdf()、hash_hmac()、hash_init()、hash()等。

php中的hash方法有哪些

本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑

php中的hash方法

  • hash_algos — 返回已注册的哈希算法列表

  • hash_copy — 拷贝哈希运算上下文

  • hash_equals — 可防止时序攻击的字符串比较

  • hash_file — 给指定文件的内容生成哈希值

  • hash_final — 结束增量哈希,并且返回摘要结果

  • hash_hkdf — Generate a HKDF key derivation of a supplied key input

  • hash_hmac_algos — Return a list of registered hashing algorithms suitable for hash_hmac

  • hash_hmac_file — 使用 HMAC 方法和给定文件的内容生成带密钥的哈希值

  • hash_hmac — 使用 HMAC 方法生成带有密钥的哈希值

  • hash_init — 初始化增量哈希运算上下文

  • hash_pbkdf2 — 生成所提供密码的 PBKDF2 密钥导出

  • hash_update_file — 从文件向活跃的哈希运算上下文中填充数据

  • hash_update_stream — 从打开的流向活跃的哈希运算上下文中填充数据

  • hash_update — 向活跃的哈希运算上下文中填充数据

  • hash — 生成哈希值 (消息摘要)

hash_algos()

hash_algos — 返回已注册的哈希算法列表

语法:hash_algos()

返回值:返回一个数值索引的数组, 包含了受支持的哈希算法名称。

hash_copy()

hash_copy — 拷贝哈希运算上下文

语法:hash_copy($context)

  • $context:由 hash_init() 函数返回的哈希运算上下文。

返回值:返回哈希运算上下文的一个复本。

hash_equals()

hash_equals — 可防止时序攻击的字符串比较

语法:hash_equals($known_string, $user_string)

  • $known_string:已知长度的、要参与比较的 string

  • $user_string:用户提供的字符串

返回值:当两个字符串相等时返回 true,否则返回 false。

hash_file()

hash_file — 给指定文件的内容生成哈希值

语法:hash_file($algo,$filename,$binary = false)

  • $algo:要使用的哈希算法的名称(例如:"md5","sha256","haval160,4" 等)。 可以在 hash_algos() 中查看当前支持的算法。

  • $filename:要进行哈希运算的文件位置的 URL ;支持 fopen 封装协议。

  • $binary:设置为 true 时,输出原始二进制数据。 设置为 false 时,输出小写的十六进制字符串。

返回值:如果 binary 设置为 true, 则返回原始二进制数据表示的信息摘要, 否则返回十六进制小写字符串格式表示的信息摘要。

hash_final()

hash_final — 结束增量哈希,并且返回摘要结果

语法:hash_final($context,$raw_output = false)

  • $context:hash_init() 函数返回的哈希运算上下文资源。

  • $raw_output:设置为 true,输出格式为原始的二进制数据。 设置为 false,输出小写的 16 进制字符串。

返回值:如果 raw_output 设置为 true, 则返回原始二进制数据表示的信息摘要, 否则返回 16 进制小写字符串格式表示的信息摘要。

hash_init()

hash_init — 初始化增量哈希运算上下文

语法:hash_init($algo,$options = 0, $key = null)

  • $algo:要使用的哈希算法名称,例如:"md5","sha256","haval160,4" 等。 如何获取受支持的算法清单,请参见 hash_algos()。

  • $options:进行哈希运算的可选设置,目前仅支持一个选项:HASH_HMAC。 当指定此选项的时候,必须 指定 key 参数。

  • $key:当 options 参数为 HASH_HMAC 时, 使用此参数传入进行 HMAC 哈希运算时的共享密钥。

返回值:返回哈希运算上下文对象,以供 hash_update(), hash_update_stream(),hash_update_file(), 和 hash_final() 函数使用。

。。。。

推荐学习:《PHP视频教程

以上是php中的hash方法有哪些的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn