博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android 网络交互之MD5为什么要加盐
阅读量:5276 次
发布时间:2019-06-14

本文共 816 字,大约阅读时间需要 2 分钟。

MD5为什么要加盐

之前面试的时候,遇到一个面试的哥哥。不停的跟我确认我对网络传输过程中的password进行MD5加密的时候,是否加key了。

当时我很纳闷,因为MD5本身已经是不可逆的了,需要破解只有穷举法。只是一个相当耗时间的工作量。
而且,android里面提供的MD5接口也没有说要加key啊
搜索了一圈,没找到什么有用的资料
今天在整理关于网络交互过程中身份校验的相关资料的时候,遇到了一句话

md5的话记得加盐。

瞬间脑部了一下,这里的加盐是不是就是那个面试我的哥哥说的Key啊

再使用“android md5的话记得加盐”进行搜索的时候,得到的内容就多了....

MD5为什么要加盐

虽然MD5本身是不可逆的,但是现在网络上面关于MD5这类加密算法的反解析数据库很多,还有专门的网站。看到那个网站上的说明,你会感觉有那么一点的颤抖

本站针对md5等全球通用加密算法进行反向解密,拥有全球最大的数据库,成功率全球第一,很多复杂密文只有本站才可解密,支持多种算法,实时查询记录超过24万亿条,共占用160T硬盘,成功率95%,一般的查询是免费的。

而且,生活中很多人使用的密码的强度都很弱,典型的是:123456
总之,给md5加盐,目前来看是很有必要的

如何加盐

这里的加盐就比较简单,也多种多样

  • 把username作为盐
    用password+username进行MD5加密,作为加密之后的结果;假如username可变的话,就不可取了
  • 用password明文的hashcode作为盐
  • 随机生成一串字符串作为盐。这里的盐,需要一起上传给服务器进行保存。
    Discuz论坛密码就是这么整的。

写在最好

给MD5加盐的目的,增加被破解的难度。

密码学的应用安全,是建立在破解所要付出的成本远超出能得到的利益上的。

转载于:https://www.cnblogs.com/zhou-guobao/p/5458926.html

你可能感兴趣的文章
文件的递归与删除
查看>>
枚举类型和各种类型之间转换
查看>>
sqlserver的四种分页方式
查看>>
Thinking in java 笔记一
查看>>
SPHINX 文档写作工具安装简要指南 - windows 版 - 基于python
查看>>
剖析Hadoop和Spark的Shuffle过程差异(一)
查看>>
pom.xml增加依赖
查看>>
寻找道路(codevs 3731)题解
查看>>
Ubuntu系统安装(win7双系统)
查看>>
字典数组 区别
查看>>
vue中什么样的数据可以是在视图中显示
查看>>
es6解构赋值的高级技巧
查看>>
最小生成树
查看>>
剑指offer(19)顺时针打印矩阵
查看>>
5.28 模拟赛
查看>>
BZOJ 2049: [Sdoi2008]Cave 洞穴勘测
查看>>
【题解】Luogu P3674 小清新人渣的本愿
查看>>
AS的快捷键
查看>>
数据分页 THINKPHP3.2 分页 三种分页方法
查看>>
format的用法
查看>>