MairaDB 函数(六)

MD5主要用途:

1、对一段信息生成信息摘要,该摘要对该信息具有唯一性,可以作为数字签名。

2、用于验证文件的有效性(是否有丢失或损坏的数据),

3、对用户密码的加密,

4、在哈希函数中计算散列值

MD5是没有解密算法的,经常用来作为对账号密码的验证。验证的一般流程为:

1.注册账号密码时对密码进行MD5加密,账号明文存入数据库,密码存入的是经过MD5加密的密文。

2.登录时先根据账号,在数据库进行检测。

3.检测到账号后对本次登录输入的密码进行MD5加密,拿本次密文与数据库里的密文进行验证。通过后即可成功登录

ENCRYPT加密

ENCRYPT(str, salt);使用UNIX crypt()函数,用关键词salt加密字符串str

Salt可以是任意字母、数字、或是字母或数字的组合,但必须是随机产生的,每个用户的Salt都不一样,用户注册的时候,数据库中存入的不是明文密码,也不是简单的对明文密码进行散列,而是MD5(明文密码+ Salt),也就是说:

1. MD5('123' + '1ck12b13k1jmjxrg1h0129h2lj')= '6c22ef52be70e11b6f3bcf0f672c96ce'

2.MD5('456'+'1h029kh2lj11jmjxrg13k1c12b')= '7128f587d88d6686974d6ef57c193628'

当用户登陆的时候,同样用这种算法就行验证。

由于加了Salt,即便数据库泄露了,但是由于密码都是加了Salt之后的散列,别人的数据字典已经无法直接匹配,明文密码被破解出来的概率也大大降低。

你可能感兴趣的:(MairaDB 函数(六))