使用 SHA512 的哈希字符串的长度是多少?
Posted
技术标签:
【中文标题】使用 SHA512 的哈希字符串的长度是多少?【英文标题】:What is the length of a hashed string with SHA512? 【发布时间】:2013-08-16 15:55:48 【问题描述】:用 sha512 散列的字符串的长度总是一样吗?
如果有,那是什么?
【问题讨论】:
crypto.stackexchange.com/q/2144/23595 这能回答你的问题吗? What data type to use for hashed password field and what length? 【参考方案1】:顾名思义就是512位,也就是64字节。
但这就是散列,也许您想知道该散列在字符串中的特定表示,正如常用的那样,那么它取决于给定的表示。
如果你用十六进制写哈希,那么它将是 128 个字符。
如果你用 base64 写散列,那么它将是 86 个字节(或 88 个带填充)。
【讨论】:
这意味着 64 个字符长? 如果 php 哈希函数的 raw_output 为真,则输出的字符应该更少。 默认为十六进制 - 128 个字符 @DjOnce, @dystroy 这个问题已经有一段时间没有回答了。但我想我应该在这里添加一些东西。如果您尝试设计数据库表来存储哈希值。在 mysql 中运行它以获得长度:length(sha2('password',512));
。这将为您提供 128 的长度。
虽然dystroys anwswer 是完全有效的,但请注意,在session.hash_bits_per_character 方面,哈希长度可能会根据php.ini 中每个字符集的位数而有所不同 - 请参阅:php.net/manual/en/… 和***.com/a/17032075/1510754
以上是关于使用 SHA512 的哈希字符串的长度是多少?的主要内容,如果未能解决你的问题,请参考以下文章