我将在密码+盐的情况下运行SHA256
,但我不知道在设置MySQL数据库时,我的VARCHAR
需要多长时间。什么是合适的长度?
发布于 2010-02-11 07:04:23
sha256的长度是256位--顾名思义。
由于sha256返回十六进制表示,4位足以对每个字符进行编码(而不是像ASCII码那样的8位),因此256位将表示64个十六进制字符,因此您需要一个varchar(64)
,甚至char(64)
,因为长度始终相同,根本不变。
和演示:
$hash = hash('sha256', 'hello, world!');
var_dump($hash);
将为您提供:
$ php temp.php
string(64) "68e656b251e67e8358bef8483ab0d51c6619f3e7a1a9f0e75838d41ff368f728"
即具有64个字符的字符串。
发布于 2013-06-08 05:20:50
我更喜欢使用二进制(32),因为它是优化的方式!
您可以放入从(00到FF)的32位十六进制数字。
因此二进制(32)!
发布于 2010-02-11 07:01:49
为什么你要把它变成VARCHAR呢?它是不变的。它始终是64个字符,可以通过在one of the online SHA-256 calculators中运行任何命令来确定。
https://stackoverflow.com/questions/2240973
复制相似问题