MD5加密简介


MD5全称:message-digest algorithm 5
翻译过来就是:信息 摘要 算法 5

特点

  1. 长度固定:
    不管多长的字符串,加密后长度都是一样长
    作用:方便平时信息的统计和管理
  2. 易计算:
    字符串和文件加密的过程是容易的.
    作用: 开发者很容易理解和做出加密工具
  3. 细微性
    一个文件,不管多大,小到几k,大到几G,你只要改变里面某个字符,那么都会导致MD5值改变.
    作用:很多软件和应用在网站提供下载资源,其中包含了对文件的MD5码,用户下载后只需要用工具测一下下载好的文件,通过对比就知道该文件是否有过更改变动.
  4. 不可逆性
    你明明知道密文和加密方式,你却无法反向计算出原密码.
    作用:基于这个特点,很多安全的加密方式都是用到.大大提高了数据的安全性

关于撞库破解

这是概率极低的破解方法,原理就是:

  1. 建立一个大型的数据库,把日常的各个语句,通过MD5加密成为密文,不断的积累大量的句子,放在一个庞大的数据库里.

  2. 比如一个人拿到了别人的密文,想去查询真实的密码,就需要那这个密文去到提供这个数据库的公司网站去查询.

这就是撞库的概念.

关于MD5加盐

比如我的银行密码是”12345”

  1. 得到的MD5是:827ccb0eea8a706c4c34a16891f84e7b
  2. 一个人截取到这个密文,那么通过撞库肯定容易撞出12345.
  3. 我们要做的就是加盐

每次保存密码到数据库时,都生成一个随机16位数字,将这16位数字和密码相加再求MD5摘要,然后在摘要中再将这16位数字按规则掺入形成一个48位的字符串保存在数据库中
在验证密码时再从48位字符串中按规则提取16位数字,和用户输入的密码相加再MD5。按照这种方法形成的结果肯定是不可直接反查和撞库的,且同一个密码每次保存时形成的摘要也都是不同的。

算法原理

对md5算法简要的叙述可以为:md5以512位分组来处理输入的信息,且每一分组又被划分为16个32位子分组,经过了一系列的处理后,算法的输出由四个32位分组组成,将这四个32位分组级联后将生成一个128位散列值。
具体实现参考此链接

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值