第2篇:要说多少遍,md5不能用来做加密

第2篇:要说多少遍,md5不能用来做加密

md5不能拿来做加密,它只是生成摘要的工具!

本文较长,自认为有点深度。看完后,如果文章对你有用,欢迎关注,你的关注是我持续输出有价值原创文章的动力。提纲如下:

  1. md5摘要到底是什么?
  2. md5能否解密?
  3. 摘要有啥用?
  4. 在没有https的情况下,对密码进行md5安全性等于0!
  5. https抓包也可以明文显示,安全吗?

md5摘要到底是什么?

就是说,不管你的内容短到一个字,还是长到一本小说,md5之后,生成的都是固定长度的字符串(常用的有16、32、64个字符,多数为32,下面按32来说明),这个字符串就是摘要,跟我们人工写的文章摘要一个意思。

第2篇:要说多少遍,md5不能用来做加密

差异点在于,人工写的摘要一样可能性不会很小,长度也不一样,而机器写的摘要长度一样,而且几乎不可能一样,一样概率是2的256次方分之一。

md5能否解密?

我们暂且假设md5可以当作加密算法,那么加密肯定是要解密的咯,你觉得你可以根据32位解密一本古龙小说出来吗?

不能!(下面告知你实则对这种特殊情况是可以的)

第一我得告知你,加密算法不是由计算机科学家发明的,都是由全球顶级数学家经过复杂数学理论设计的,加密算法就摆在哪里,可你拿到密文就是解不出原来的明文,就连设计加密算法的数学家也解密不出,这就是数学之美。

那有人会说了,为什么网上有md5解密的?列如这个:

第2篇:要说多少遍,md5不能用来做加密

我告知你,这是这个网站记录了常用的一些明文和它对应的密文,当你输入密文,自然明文就可以查询出来。列如普通的a、b、c…z…、123456、iloveyou等等,还有古龙小说全集,早就记录在案了,所以古龙小说没准可以破解,但有后面会告知你不是没有成本的。

不信?你试试改一些上面的密文,他就要好久好久好久…才能解密原文了,就是说需要穷举暴力破解了。

当然,现代计算机算力越来越强(各种云运营商),存储空间也越来越大,那么在利益驱动下(收费模式),这种事情也不是没可能。

第2篇:要说多少遍,md5不能用来做加密

至于成本有多大,看某网站的介绍就知道了:

第2篇:要说多少遍,md5不能用来做加密

在这样的情况下,采用大数据分布式查询,查询一些在记录中的还是很快的,不在记录中的,只能通过不知猴年马月的穷举了。

当然这些服务器没事时,估计也是在不断穷举,并且把新纪录记录下来,但太太太浪费资源了。

这么说吧,把一句“I love you”的各种组合的md5值记录下来就已经不错了。

他们为什么不把“I love you”这句生成的md5值收费呢?由于这些md5“解密”(目前知道为什么要在解密两边加上双引号了吧,实际是还原)网站,也不少,也在内卷。不给你试试能解密,谁会用呢?

摘要有啥用?

一般用来鉴定被md5的原文是否一样,列如你要对比古龙小说和盗版的古龙小说内容是否一致,按普通算法是不是要一个字一个字对比,甚至标点符号也要对比?

有摘要就不一样了,对比一下两篇文章的摘要,一样,说明内容就是一样的。

在没有https的情况下,对密码进行md5安全性等于0!

有些网站没有https很正常,由于网站站长根本就不懂技术嘛!

但对于程序员,对接口只采用md5进行所谓的“加密”就不能原谅了!

虽然他们写的接口,不像网站暴露在外面,只是前后端相互调用,但要抓他们的包真的轻而易举。

抓到调用接口和经过md5“加密”的参数怎么“调戏”这个程序员?

第2篇:要说多少遍,md5不能用来做加密

这时候,你也许会说,我根本没传输密码啊,只是md5值啊,

后端我就用数据库存储的密码也进行md5,将md5值对比一下就可以判断是否正确的密码啊,

即使你拦截到md5值也没用啊。

没错,我是不知道你的原密码,所以我没法在网页里输入原密码,但我根本不需要通过网页输入。

直接通过postman调用你的接口行不行?行。

第2篇:要说多少遍,md5不能用来做加密

调用接口的时候一般都是拿到已经md5过了的字符串,我无须关心原来是什么,直接接口传入的是这个字符就可以。然后我就调用不同需要这个md5值的借口,想要拿什么数据就拿什么数据,想要修改什么就修改什么。

简不简单?简单。

也就是说,我把这个md5后的字符串,当作密码来用,一点问题都没有

所以你必须配合https对传输的内容进行加密。

https抓包也可以明文显示,安全吗?

正如上面这个问题,有些人要跳出来挑战我了。

第2篇:要说多少遍,md5不能用来做加密

来源网络:https抓包明文显示原理图

他们通过Charles抓包,在电脑安装信任Charles证书,且在手机端安装Charles抓包软件的证书后,在Charles的确 可以看到明文

第2篇:要说多少遍,md5不能用来做加密

没配置证书抓到的包是密文显示

第2篇:要说多少遍,md5不能用来做加密

配置证书后,抓到的包是明文显示

你或许能通过某种见不得人的手段,拦截到了客户的包,但你也得要别人同意安装你的证书才行。

有人说,还有什么伪证书方式,我只想说,难不难,你试试才知道?老实说,我的确 不懂,也不想暂时不想研究下去了。

作者:茂子,某985计算机硕士。如果文章对你有用,欢迎关注,你的关注是我持续输出有价值的原创文章的动力。

© 版权声明

相关文章

21 条评论

  • 头像
    张点点是只胖迪 读者

    你是不是想表达,用户登录时,用户输入的密码md5加密,传到后端,你截取到这个md5加密字符串,你也能用这个用户登录是不是。

    无记录
    回复
  • 头像
    小麦吖 读者

    说了个寂寞,加密后无法解密为啥不能用做密码加密,如果说抓包,无论用什么加密一样抓包

    无记录
    回复
  • 头像
    平安一生 读者

    密码用md5传输是为了数据库不保留明码,即便http被窃取也只是一个人的。否则数据库被黑就全部泄密了,然后又可以拿着这些去其他网站撞库。

    无记录
    回复
  • 头像
    旻沅恋 读者

    确实像其他人说的概念不清,首先采用md5对密码做摘要是为了保证原始密码的安全,md5并不能保证系统登录不被入侵。那么在客户端做md5再进行网络传输,是为了在网络传输环节保护密码原文,黑客抓取了网络包有也只能得到md5摘要,但这并不能防止黑客伪造登录。同理,在数据库存储md5摘要,则是为了在存储环节保护原始密码安全,避免数据库被入侵后泄露原始密码。原始密码安全也是非常重要的,黑客一旦拿到原始密码,那么即使漏洞补上了,还是很难防住黑客,除非用户全部修改密码,另外一个系统的原始密码可以拿去攻击其他n套系统,因为用户可能在哪个系统都是用的同一个密码,这也是一个大问题。一句话,md5就是丢弃原始密码来保证不泄露原始密码,跟什么传输协议没关系

    无记录
    回复
  • 头像
    大白兔奶糖糖糖 读者

    一般md5加密是这样的token=md5(密码+随机串+通讯双方都知道的一个字符串),token和随机串网络明文传输,通讯双方都能检验是否正确,而第三方不知道那个字符串,想伪造token,很难

    无记录
    回复
  • 头像
    懒得要命的国王 读者

    可以用来加密:对于不多于16字节的明文,最简单的算法为:密钥 = md5(password)加密: 密文 = 明文 xor 密钥解密: 明文 = 密文 xor 密钥当然还可以设计出复杂的算法。

    无记录
    回复
  • 头像
    bokopopo今天见面了吗 投稿者

    现在的业务接口都用token进行检验了,md5只是加密明文密码用(有些还加盐),只是登录的时候进行用户身份验证使用,验证过程是在程序内部进行的,数据库里存储的那个md5字符串根本就不会流出到接口之外,你得不到那个数据库里的md5字符串,你只能得到验证通过还是未通过的结果而已。

    无记录
    回复
  • 头像
    我埃及吧干啥就干啥2333 投稿者

    还是可以用的,但要在明文上叠加一个临时从服务端获得的随机数,这样每次发送的明文就不同了,再结合session更新机制,就可以获得较高的安全性,作为没办法使用https的替代方案。

    无记录
    回复
  • 头像
    Perkk 投稿者

    作者可能不知道什么叫非对称加密吧。

    无记录
    回复
  • 头像
    石家庄校园 读者

    base64也可以说一篇,不是加密不是加密不是加密,这个也碰到好多人都分不清。

    无记录
    回复
  • 头像
    火爆栗子 读者

    哈哈哈,base64比md5更不具迷惑性

    无记录
    回复
  • 头像
    意如刀 投稿者

    密码+md5 也不是为了加密啊

    无记录
    回复
  • 头像
    小婊子 读者

    密码存成md5不加盐就是耍流氓

    无记录
    回复
  • 头像
    古城夜冷 读者

    用md5加密是菜鸟级别的程序员,比如我,就是程序简单化,肯定是不能对抗高手的

    无记录
    回复
  • 头像
    太阳花迎夏 读者

    md5必须加点盐才行

    无记录
    回复
  • 头像
    读者

    你懂的太少了。服务端请求密码的时候,发个随机字符串就好了。每次发送的都不一样。客户端把密码和服务端字符串一起md5就好了。不怕重放。pppoe早就用起来了。

    无记录
    回复
  • 头像
    秋雨先生 读者

    作者这个讲得很好,网上有很多二把刀程序员很自信的说MD5是可逆能破解的,连加密原理都搞不清楚。所谓能破解只是密码本原理,撞库而已

    无记录
    回复
  • 头像
    消失的光年草 读者

    密码学算法分三类:单向散列函数(哈希函数):md5,sha1,sha256,sm3对称算法:des,aes,sm4非对称算法:rsa,ecc,sm2

    无记录
    回复
  • 头像
    小马好爱吃草莓_ 投稿者

    md5一般用来做校检的。解密干啥?

    无记录
    回复
  • 头像
    在三线养娃 读者

    简单的说很多人搞不清楚摘要和加密的区别

    无记录
    回复
  • 头像
    陈香玲 读者

    建议阅读下安全学这本书,到底md5是不是加密。另外md5加言加密,独一无二,反推不出

    无记录
    回复