多久SHA256哈希?多久SHA256哈希?(How long is the SHA256 hash

2019-06-17 10:30发布

我要运行SHA256上密码+盐,但我不知道多久才能让我的VARCHAR设置MySQL数据库的时候。 什么是一个很好的长度是多少?

Answer 1:

一个SHA256为256位长 - 正如其名称所示。

如果使用的是一个十六进制表示,对4位的每个数字码; 因此需要64个数字来表示256位-因此,需要一个varchar(64)或一个char(64)作为长度始终是相同的,而不是改变在所有。

和演示:

$hash = hash('sha256', 'hello, world!');
var_dump($hash);

会给你 :

$ php temp.php
string(64) "68e656b251e67e8358bef8483ab0d51c6619f3e7a1a9f0e75838d41ff368f728"

即,具有64个字符的字符串。



Answer 2:

编码SHA256的256位选项:

  1. BASE64:每字符6位= CHAR(44)包括填充字符
  2. 十六进制:每焦炭= 4位CHAR(64)
  3. 二进制:每字节8位= BINARY(32)


Answer 3:

我更喜欢使用BINARY(32),因为它是最优化的方式!

您可以从(00至FF)有32个十六进制数字的地方。

因此BINARY(32)!



Answer 4:

为什么你会使其VARCHAR? 它不会改变。 它总是64个字符,这可以通过运行任何东西到确定网上SHA-256的计算器之一 。



Answer 5:

这将是固定64个字符,所以使用char(64)



文章来源: How long is the SHA256 hash?
标签: mysql sha256