iOS面试 - MD5(信息摘要)哈希算法

MD5是一种将任意长度的字节串变换成固定长度十六进制大整数的算法,用于确保信息传输完整一致。该文详细介绍了MD5的特点,包括压缩性、容易计算、抗修改性、弱抗碰撞和强抗碰撞特性,以及其在一致性验证、数字签名和安全访问认证等领域的应用。
摘要由CSDN通过智能技术生成

把一个任意长度的字节串变换成一定长度的十六进制的大整数,用于确保“信息传输”完整一致。

注意: 字符串的转换过程是不可逆的。

MD5 特点:

  1. 压缩性: 任意长度的数据,算出的 MD5 值长度都是固定的;
  2. 容易计算: 从原数据计算出 MD5 值很容易;
  3. 抗修改性: 对原数据进行任何改动,哪怕只修改一个字节,所得到的 MD5 值都有很大区别;
  4. 弱抗碰撞: 已知原数据和其 MD5 值,想找到一个具有相同 MD5 值的数据(即伪造数据)是非常困难的;
  5. 强抗碰撞: 想找到两个不同数据,使他们具有相同的 MD5 值,是非常困难的。

MD5 应用:

  1. 一致性验证: MD5 将整个文件当做一个大文本信息,通过不可逆的字符串变换算法,产生一个唯一的 MD5 信息摘要;
  2. 数字签名: 就像每个人都有自己独一无二的指纹,MD5 对任何文件产生一个独一无二的“数字指纹”;
  3. 安全访问认证: 利用 MD5 来进行文件校验,被大量应用在软件下载站、论坛数据库、系统文件安全等方面。

MD5 加盐:

  • MD5 本身是不可逆运算,但是,目前网络上有很多数据库支持反查询;
  • MD5 加盐就是在密码哈希过程中添加的额外的随机值;
  • 注意: 加盐要足够长,足够复杂。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值