文章插图
文章插图
md5不能拿来做加密 , 它只是生成摘要的工具!
本文较长 , 自认为有点深度 。看完后 , 如果文章对你有用 , 欢迎关注 , 你的关注是我持续输出有价值原创文章的动力 。提纲如下:
md5摘要到底是什么?md5能否解密?摘要有啥用?在没有https的情况下 , 对密码进行md5安全性等于0!https抓包也可以明文显示 , 安全吗?
md5摘要到底是什么?
就是说 , 不管你的内容短到一个字 , 还是长到一本小说 , md5之后 , 生成的都是固定长度的字符串(常用的有16、32、64个字符 , 多数为32 , 下面按32来说明) , 这个字符串就是摘要 , 跟我们人工写的文章摘要一个意思 。
差异点在于 , 人工写的摘要相同可能性不会很小 , 长度也不一样 , 而机器写的摘要长度一样 , 而且几乎不可能一样 , 相同概率是2的256次方分之一 。
md5能否解密?
我们暂且假设md5可以当作加密算法 , 那么加密肯定是要解密的咯 , 你觉得你可以根据32位解密一本古龙小说出来吗?
不能!(下面告诉你其实对这种特殊情况是可以的)
首先我得告诉你 , 加密算法不是由计算机科学家发明的 , 都是由全球顶级数学家经过复杂数学理论设计的 , 加密算法就摆在哪里 , 可你拿到密文就是解不出原来的明文 , 就连设计加密算法的数学家也解密不出 , 这就是数学之美 。
那有人会说了 , 为什么网上有md5解密的?比如这个:
我告诉你 , 这是这个网站记录了常用的一些明文和它对应的密文 , 当你输入密文 , 自然明文就可以查询出来 。比如普通的a、b、c…z…、123456、iloveyou等等 , 还有古龙小说全集 , 早就记录在案了 , 所以古龙小说没准可以破解 , 但有后面会告诉你不是没有成本的 。
不信?你试试改一些上面的密文 , 他就要好久好久好久…才能解密原文了 , 就是说需要穷举暴力破解了 。
当然 , 现代计算机算力越来越强(各种云运营商) , 存储空间也越来越大 , 那么在利益驱动下(收费模式) , 这种事情也不是没可能 。
【md5加密工具下载 md5加解密工具】至于成本有多大 , 看某网站的介绍就知道了:
在这样的情况下 , 采用大数据分布式查询 , 查询一些在记录中的还是很快的 , 不在记录中的 , 只能通过不知猴年马月的穷举了 。
当然这些服务器没事时 , 估计也是在不断穷举 , 并且把新纪录记录下来 , 但太太太浪费资源了 。
这么说吧 , 把一句“I love you”的各种组合的md5值记录下来就已经不错了 。
他们为什么不把“I love you”这句生成的md5值收费呢?因为这些md5“解密”(现在知道为什么要在解密两边加上双引号了吧 , 实际是还原)网站 , 也不少 , 也在内卷 。不给你试试能解密 , 谁会用呢?
摘要有啥用?
一般用来鉴定被md5的原文是否一样 , 比如你要对比古龙小说和盗版的古龙小说内容是否一致 , 按普通算法是不是要一个字一个字对比 , 甚至标点符号也要对比?
有摘要就不一样了 , 对比一下两篇文章的摘要 , 一样 , 说明内容就是一样的 。
在没有https的情况下 , 对密码进行md5安全性等于0!
有些网站没有https很正常 , 因为网站站长根本就不懂技术嘛!
但对于程序员 , 对接口只采用md5进行所谓的“加密”就不能原谅了!
虽然他们写的接口 , 不像网站暴露在外面 , 只是前后端相互调用 , 但要抓他们的包真的轻而易举 。
抓到调用接口和经过md5“加密”的参数怎么“调戏”这个程序员?
这时候 , 你也许会说 , 我根本没传输密码啊 , 只是md5值啊 ,
后端我就用数据库存储的密码也进行md5 , 将md5值对比一下就可以判断是否正确的密码啊 ,
即使你拦截到md5值也没用啊 。
没错 , 我是不知道你的原密码 , 所以我没法在网页里输入原密码 , 但我根本不需要通过网页输入 。
直接通过postman调用你的接口行不行?行 。
调用接口的时候一般都是拿到已经md5过了的字符串 , 我无须关心原来是什么 , 直接接口传入的是这个字符就可以 。然后我就调用不同需要这个md5值的借口 , 想要拿什么数据就拿什么数据 , 想要修改什么就修改什么 。
简不简单?简单 。
也就是说 , 我把这个md5后的字符串 , 当作密码来用 , 一点问题都没有 。
所以你必须配合https对传输的内容进行加密 。
https抓包也可以明文显示 , 安全吗?
正如上面这个问题 , 有些人要跳出来挑战我了 。
来源网络:https抓包明文显示原理图
他们通过Charles抓包 , 在电脑安装信任Charles证书 , 且在手机端安装Charles抓包软件的证书后 , 在Charles确实可以看到明文
没配置证书抓到的包是密文显示
配置证书后 , 抓到的包是明文显示
你或许能通过某种见不得人的手段 , 拦截到了客户的包 , 但你也得要别人同意安装你的证书才行 。
有人说 , 还有什么伪证书方式 , 我只想说 , 难不难 , 你试试才知道?老实说 , 我确实不懂 , 也不想暂时不想研究下去了 。
- md5不能用于文本加密 md5加密工具类
- md5怎么使用方法 md5使用教程
- 修改照片的工具下载 个人照片处理工具
- 图片去水印工具下载 图图去水印怎么用
- 加密移动硬盘的软件 硬件加密移动硬盘哪个好
- rsa加解密过程 rsa加密和解密过程
- 如何加密共享文件 共享文件如何加密码
- 破解rar加密文件软件 加密的rar文件破解
- ico图标生成器 ico图标制作工具下载
- 企业加密软件系统会盗取个人数据吗 企业加密软件系统知乎