彩虹表
彩虹表就是在网上搜集的各种字符组合而成的加密结果
可以想象,如果用户密码比较简单,为
原始密码 | 一次加密 | 二次加密 |
---|---|---|
= AC;
# we get after_code SELECT * FROM table WHERE 一次加密=AC;
SELECT * FROM table WHERE 二次加密=AC;
加盐
我们人为的通过一组随机字符,与用户原密码的组合形成一个新的字符,从而增加破译的难度
CREATE TABLE "user"(
"id" int(11) NOT NULL AUTO_INCREMENT,
"username" varchar(255) COLLATE utf8mb4_bin DEFAULT NULL COMMENT "用户名",
"password" varchar(255) COLLATE utf8mb4_bin DEFAULT NULL COMMENT "密码",
"salt" char(4) COLLATE utf8mb4_bin DEFAULT NULL COMMENT "盐",
PRIMARY KEY ("id")
=InnoDB DEFAULT=utf8mb4 COLLATE=utf8mb4_bin; ) ENGIN
然后在前端,定义两个