我将在password + salt上运行SHA256,但我不知道在设置MySQL数据库时需要多长时间使我的VARCHAR。什么样的长度比较好?
正如其名称所示,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个字符的字符串。
SHA256的256位编码选项:
Base64:每个字符6位= char(44),包括填充字符 十六进制:每字符4位= char (64) 二进制:每字节8位=二进制(32)
推荐文章
- 我可以从一个完整的mysql mysqldump文件恢复一个表吗?
- 计数在VARCHAR字段中字符串的出现次数?
- 修改一个MySQL列为AUTO_INCREMENT
- 在ROR迁移期间,将列类型从Date更改为DateTime
- 如何删除所有MySQL表从命令行没有DROP数据库权限?
- 从主机连接到docker容器中的mysql
- 如果任何字段包含NULL, MySQL CONCAT将返回NULL
- MySQL中的字符串连接
- Laravel未知列'updated_at'
- MySQL更新内部连接表查询
- 根据查询结果设置用户变量
- 不能删除外键约束中需要的索引
- MySQL现在()+1天
- MySQL索引的最佳实践是什么?
- 如何在Mac OS安装时停止MySQL ?