【问题标题】:What is the length of a hashed string with SHA512?使用 SHA512 的哈希字符串的长度是多少?
【发布时间】:2013-08-16 15:55:48
【问题描述】:

用 sha512 散列的字符串的长度总是一样吗?

如果有,那是什么?

【问题讨论】:

标签: hash sha512


【解决方案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/…stackoverflow.com/a/17032075/1510754
猜你喜欢
  • 2010-11-01
  • 1970-01-01
  • 1970-01-01
  • 2013-02-22
  • 1970-01-01
  • 1970-01-01
  • 2010-12-16
  • 1970-01-01
  • 2018-12-03
相关资源
最近更新 更多