网站和域名的区别,网上智慧团建网站登录,wordpress主题开发,电销什么是md5?
md5是一种不可逆的散列算法
不可逆#xff1a;从明文可以得到密文#xff0c;但是从密文不可以得到明文。散列#xff1a;通过一种函数得到一个映射值#xff0c;有可能是重复的#xff01;但重复的概率比较低#xff0c;例如设置字符大小写字母数字的密码…什么是md5?
md5是一种不可逆的散列算法
不可逆从明文可以得到密文但是从密文不可以得到明文。散列通过一种函数得到一个映射值有可能是重复的但重复的概率比较低例如设置字符大小写字母数字的密码能通过散列得到相同密文的概率就非常非常低了。 应用场景 密码存储 处于安全考虑原生密码不能直接储存到数据库中如果数据泄露会导致许多问题因此会将密码经过md5加密后储存至数据库这个大家肯定都知道。 一致性校验 这个是我在做支付签名时候发现的一种用法以前没有使用过。客户端调用第三方支付时需要是用https传输请求一旦请求被拦截被修改例如支付1000元被拦截成1元支付成功后第三方返回支付成功的结果会造成严重损失。 于是人们使用一段密文将请求参数加工为一个字符串例如“amount50payMethodnativeid012345”然后将这个字符串进行加密请求时一同发送。收到请求后和明文参数做一次一致性的校验校验参数的一致性。 当然真正的涉及到支付的加密手段会更加复杂例如证书等使用这个例子只是说明md5可以作为一种校验密码一致性的一种手段。
如何提高安全性 加盐 盐值就是一段无意义的随机字符串可以是一段uuid也可以是一段随机数字。加盐可以避免黑客使用一些对照表破解简单的密码比如123456password这些常用密码使用频率很高可以从对照表中查询到。 多次加密 将加密过md5密码再加密循环几次这样形成的密文也无法通过对照表来找到。