首页 > 其他分享 >一文读懂md5,md5有什么用,什么是md5加盐

一文读懂md5,md5有什么用,什么是md5加盐

时间:2022-10-10 18:34:14浏览次数:44  
标签:654321 密码 解密 读懂 加盐 md5 散列 MD5

md5是一种密码散列函数,在计算机安全领域得到广泛的应用。本文将带大家了解一些md5的知识点,什么是md5,md5有什么用,什么是md5加盐,为什么md5不可逆,为什么md5可能会被解密?帮助大家快速了解md5,感兴趣的朋友继续往下看吧。

一文读懂md5,md5有什么用,什么是md5加盐_散列函数

什么是md5?

MD5消息摘要算法,能够产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。它是一种被普遍使用的密码散列函数,又译为加密散列函数,是散列函数的一种,用于取代MD4算法。

md5有什么用?

1、md5可用于一致性验证。这是很典型的应用,对信息产生信息摘要,以防止被篡改。比如:在某些软件下载站点的某软件信息中看到其MD5值,它的作用就在于我们能够在下载该软件后,对下载回来的文件用专门的软件做一次MD5校验,以确保咱们得到的文件与该站点提供的文件为同一文件。

利用MD5算法来进行文件校验的方案被大量应用到软件下载站、论坛数据库、系统文件安全等方面。

2、数字签名。MD5的典型应用是对一段Message(字节串)产生fingerprint(指纹),以防止被“篡改”。

3、安全访问认证。MD5还普遍用于操作系统的登录认证上,如Unix、各种BSD系统登陆密码、数字签名等诸多方面。

一文读懂md5,md5有什么用,什么是md5加盐_数字签名_02

什么是md5加盐?

比如,个人银行密码是“654321”获得的MD5是:

c33367701511b4f6020ec61ded352059

一旦截取到这个密文,那么经过撞库确定容易撞出654321,我们要做的就是加盐,银行密码仍是“654321”,把银行密码加上特定的字符串才计算MD5 因此密码仍是那个密码,可是变成求”654321密码加密987”的MD5值,而后再获得MD5,那么这个MD5起码能够确认那个数据库不会有。

为什么md5不可逆?

md5不可逆的原因是因为它是一种散列函数,使用的是hash算法,在计算过程中原文的部分信息是丢失了的。也就是说,MD5的运算过程存在信息丢失。由于不知道运算过程中会有多少个进位在哪一步被丢弃,因而仅仅根据MD5的计算过程和得到的最终结果,是无法逆向计算出明文的。这才是MD5不可逆的真正原因。

为什么md5可能会被解密?

一文读懂md5,md5有什么用,什么是md5加盐_数据库_03

md5算法无法防止碰撞,可通过撞库解密,虽然是几率极低的解密方法。但是原理就是:创建一个大型的数据库,把平常的各个语句,经过MD5加密成为密文,不断的积累大量的句子,放在一个庞大的数据库里。当我们拿到了别人的密文:

6377d8865b11bdbee697b16d078a1094,想去查询真实的密码,就要拿这密文到这个md5解密网站去查询。免费在线MD5解密网站:http://md5.cn/

使用md5可以防止信息不被盗取、修改,可以保护信息安全,它被广泛应用于操作系统的登录认证上,如Unix、各类BSD系统登录密码、数字签名等诸多方面。因此,md5的作用挺大的,通过本文相信大家对md5有了更多的了解,今天的分享就到这里了。


标签:654321,密码,解密,读懂,加盐,md5,散列,MD5
From: https://blog.51cto.com/u_15718024/5744958

相关文章

  • nodejs md5 加盐值
    constcrypto=require('crypto')constSALT='ftmsabcd@1234!'functionmd5(str){constmd5=crypto.createHash('md5')constresult=md5.update(SALT).update(st......
  • rust md5 sha1 sha256 sha512序列化
    [dependencies]rust-crypto="0.2.36"md5usecrypto::md5::Md5;usecrypto::digest::Digest;fnmain(){letmuthasher=Md5::new();lettext=String::from("12......
  • C/C++语言 MD5例子
    之前研究了一下在C中进行MD5加密,由于找了很久没有找到现成的库文件,所以所幸自己去写了一下。个人感觉C的便捷性没有Python好的原因就是这里。下面是我写的一个例子。mian......
  • 带你5分钟读懂MySQL字符集
    前言在日常开发中经常遇到“乱码”问题,很有可能就是因为对字符集的理解不到位、设置错误造成的,本文主要总结一下MySQL字符集的相关知识,以及如何设置字符集,希望对大家有所帮......
  • JS调用MD5加密
    为了系统的安全,前端一般需要对密码进行MD5加密,然后传输给后台处理。MD5的英文是MessageDigestAlgorithm(信息摘要算法),是不可逆的算法,只能通过暴力破解,所以较为安全。需要......
  • 一文读懂 MongoDB 和 MySQL 的差异
    下面讨论MongoDB和MySQL在各种参数上的差异:什么是MongoDB和MySQL?MongoDBMySQLMongoDB是由MongoDB,Inc.开发的开源数据库。MongoDB将数据存储在类似JSON的文档中,这......
  • 【学习笔记】数据库级别的MD5加密
    数据库级别的MD5加密什么是MD5?MD5信息摘要算法(英语:MD5Message-DigestAlgorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hashvalue),用于确保信......
  • python 利用md5去重 转载
    原文连接:https://blog.csdn.net/babytiger/article/details/90293866#/usr/bin/envpython#-*-coding:utf-8-*-#运行的代码文件要放到删除重复的文件或图片所包含......
  • 读懂React原理之调和与Fiber
    一引沿Fiber架构是React16中引入的新概念,目的就是解决大型React应用卡顿,React在遍历更新每一个节点的时候都不是用的真实DOM,都是采用虚拟DOM,所以可以理解成fiber就是R......
  • 一文读懂Apache Geode缓存中间件
    目录一、对缓存中间件的诉求1.1我们为什么需要缓存中间件1.2缓存的分类1.1.1弱势缓存1.1.2强势缓存二、什么是ApacheGeode2.1ApacheGeode的架构......