首先他们三个都是加密方法,用来避免密码明文传输的漏洞危害,但是同为加密方式他们三个有什么区别呢?
MD5:
这种加密方式最简单同时也最直接
过程:创建账号时,将账号对应密码的MD5存储数据库,登录时,对用户输入的密码进行MD5加密传送到服务器端,根据账号从数据库查询出该账号对应的MD5值进行对比,判断是否相同。
MD5也是弱加密
风险:字典表很大。在https://www.cmd5.com ,存储超过90万亿个密码,很快速查询到一些密码强度不复杂的密码。






对称加密算法AES:
这种加密相对更复杂一些
过程:秘钥固定在客户端代码和后端代码中,登录时使用固定密码将明文密码加密传输到后端,后端使用相同的固定秘钥解密,然后查询用户存储在数据库的密码,进行对比认证。
风险:秘钥硬编码于客户端代码中,存在泄漏风险。


非对称加密RSA:
可说最靠谱的方法
过程:在后端使用非对称算法RSA生成一对公私钥,公钥固定存储在客户端代码中,私钥存储在后端代码中,登录时对输入的密码使用公钥加密传输,后端收到加密的秘钥后,使用私钥进行解密,然后查询该账号对应的密码,进行对比。
安全保证:得不到私钥,公钥加密后的密码的密码是无法破解的,保证了密码的绝对安全。
以上便是今日浅谈的加密方式的区别!
本文探讨了三种常见的加密方法:MD5、AES和RSA。MD5是最简单的加密方式,但安全性较低,易受字典攻击。AES是对称加密算法,虽然比MD5更安全,但密钥硬编码可能带来风险。RSA是非对称加密,通过公钥和私钥确保密码的安全传输,是最可靠的方法。

2148

被折叠的 条评论
为什么被折叠?



