06-MD5和Salt的简介和执行流程说明
一、MD5算法:
作用:一般用来加密或者签名(校验和)
特点:
(1)MD5算法不可以,只能将明文转成密文
(2)如果内容相同,无论执行多少次md5,生成结果始终是一致的
生成结果:始终是一个16进制32位长度字符串
二、Salt盐
【再service层实现】
就是将我们用户注册时输入的密码,加上一串随机字符串,然后通过MD5算法进行加密后,再存储到数据库,保证密码的相对安全。因为有的网站可以通过穷举算法通过密码的密文找到对应的明文。

三、存在问题
加上盐后,我们用户登录时,输入的还是原来的密码,经过md5加密与数据库中的密码进行比较,因为数据库中密码加盐处理,比较不正确。
所以我们要在数据库设计的时候,还要添加“盐”字段,保存我们添加的盐字符串。这样可以保证相对的安全。
这样,当我们登录时,先通过用户名查找盐,然后跟密码拼接起来。如果我们注册时盐拼接在后面,我们登录时盐也拼接在后面,要保证逻辑一致。


浙公网安备 33010602011771号