这里是修真院后端小课堂,每篇分享文从
【什么叫MD5,MD5通常做什么用处,为什么MD5不可逆,用做密码加密的时候仍然可能会被解密?】
标题:
【修真院java小课堂】MD5等常用加密方式的简介
开场语:
大家好,我是IT修真院上海分院第10期的学员许东杰,一枚正直纯洁善良的java程序员,今天给大家分享一下,修真院官网java(职业)任务5,深度思考中的知识点——什么叫MD5,MD5通常做什么用处,为什么MD5不可逆,用做密码加密的时候仍然可能会被解密?
(1)背景介绍:
安全问题已经成为一个越来越重要的问题,在数据的传输过程中如何对重要数据进行加密解密是本课堂的主要内容。
(2)知识剖析:
加密中常见的算法种类及特点:
1、散列函数(hash):用来验证数据完整性的(不是用来加密解密),由于转化不可逆可以用来进行一些验证。常见散列算法:MD5(消息摘要、摘要长度默认128bit)、SHA、MAC(HMAC) 它们的总体安全性是逐步递增的
2、对称加密算法:通过相同密匙进行加密解密,可逆,用来加密解密。常见对称加密算法:DES算法、AED算法
3、非对称加密算法:密匙分为公钥(公开)和私钥(自己保存)。常见非对称加密算法:DH、RSA
加密过程中的两种数据转换:
传入的字符串–>字节数组–>加密过后的字节数组–>转为base64二进制字符进行传输
举例:一个128bit摘要长度的字符串,转为base64二进制字符串是:128/8* (4/3)=22个字符
传入的字符串–>字节数组–>加密过后的字节数组–>转为16进制字符串进行http传输
举例:一个128bit摘要长度的字符串,转为十六进制字符串是:(128/8)*2=32个字符
(3)常见问题:
MD5怎么使用,怎么提高它的安全性
(4)解决方案:
MD5虽然是不可逆的,但是可以通过彩虹码等进行破解
所以为了解决MD5安全性不高的问题,我们采取加盐的方式和

本文介绍了MD5作为一种散列函数,主要用于数据完整性验证,其不可逆性使得它常用于密码存储。然而,由于彩虹表攻击的存在,MD5作为密码加密存在安全隐患。为了增强安全性,文章提到了加盐和HMACMD5的方法,并提供了相关的加密实战代码示例。
最低0.47元/天 解锁文章
1314

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



