ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

MD5与Salt

2021-03-16 09:59:52  阅读:201  来源: 互联网

标签:加密 摘要 信息 SHA 算法 Salt MD5


MD5与Salt

加密

加密,以某种特殊的算法改变原来的信息数据。使得未授权的用户即使获得了已加密的信息,因为没有相对应的解密算法,无法正常阅读原文数据。

加密更多说的是基于密码的一种算法。

密码算法:

本质上:就是对明文的文件或者数据按照某种算法进行加工处理,使其成为不可读的一套代码。(ifelse while for)

在密码算法中,目前流行的有五种:

  • 对称加密

    对称加密本质上就是单密钥加密

    意思就是加密和解密使用的是相同密钥的一种加密算法

    在http应用比较多。

    一般在进行数据传输的时候,还要去配置数字证书

    特点:

    • 算法公开
    • 计算量少
    • 加密速度快
    • 不安全
    • 与多方通信时需要使用不同的密钥,管理起来很不方便

    常见的对称加密算法:DES、RC2、RC4、RC5…

  • 非对称加密

    非对称加密使用的一对公钥和私钥来加密通信数据,也称之为双加密钥算法。

    公钥和私钥一般都是成对出现的。

    通信的数据使用公钥加密后,只能使用对应的私钥来解密。

    同样使用私钥加密后的也只能通过公钥来解密查看。

    非对称加密数据通信称之为单向安全的。

    用途:

    • 单向传输加密数据,防止中间人攻击
    • 身份验证和数据校验。使用第三方SDK时,一般还需要通过RSA去生成一对公钥和私钥,采用的非对称加密算法
    • 一般在第三方平台下载一些应用的时候,确保下载的应用原文文件没有篡改,一般需要进行校验MD5或者sha-1码
    • 常见的非对称加密算法:RSA、DSA、ECC等等。。。
  • 信息摘要算法

    信息摘要算法,也称之为hash算法、散列算法。

    可以将任意文件或者数据的长度(任意)转换成一个定长的、不可逆的数字(十六进制)。

    只要原文本不同,计算出来的结果必然不同(不会重复)

    摘要算法主要是用于对比信息源是否一致,只要数据源发生变化,得到的摘要信息必要不同。

    通常用于签名校验。

    特点:

    • 无论原文信息有多长、计算出来的信息摘要长度总是一样的(固定的)
    • 信息摘要算法不是随机的,因为相同的算法对相同的信息计算两次摘要,得到的结果必然相同。
    • 常见的摘要算法:MD5/SHA-1/SHA-0/SHA-256
  • 数字签名

    数字签名是非对称加密算法和信息摘要算法的一种应用,能够保证在信息传输过程中不被篡改,也不能被仿造。

    原理:

    ​ 使用时,发送方使用摘要算法获得发布内容的摘要信息,然后使用私钥对摘要信息进行加密(加密后的数据就是数字签名),然后将发布内容、数字签名和公钥一起发送给接收方即可。接收方收到发布内容后,首先取出公钥解密数字签名,获得正文的摘要信息。然后使用相同的摘要算法计算摘要数据,将计算的摘要数据和解密的摘要进行对比,如果摘要信息一致,则说明内容没有被篡改。

    实际上,如果你的实际单一的数字签名应用,则会存在巨大风险。

  • 数字证书

    数字证书是由第三方权威CA机构颁发的,这个证书是无法被仿造的。用于校验发送方实际身份的认证。

    MD5与SHA-1的区别

MD5信息摘要算法是一种被广泛使用的的散列函数,可以产生出一个128位(16的字节)的散列值(hash value),用于确保信息传输的完整一致性。

MD5他无法防止碰撞,因此不适用于安全性认证。

原理:

​ MD5算法的原理可以简单的概括为:MD5码是以518位分组来处理输入的信息,每一组被划分为为16个32位子分组,经过一系列的处理后,算法的输出有四个32位分组组成。将这四个32位分组级联后将生成一个128位的散列值。

MD5值是可以破解的,使用穷举法,暴力破解法(可以参照彩虹表)等

SHA-1信息摘要算法,是一种安全的散列算法,是一种密码散列函数

SHA-1 可以生成一个被称为消息摘要的160位(20字节)散列值,散列值通常的呈现形式为40个十六进制数。

异同点:

​ 摘要的长度不同 128 160

​ 运算的步骤不同 64 80

​ 安全性不同 SHA-1更安全一些

速度不同: MD5速度更快一些,性能较优。

标签:加密,摘要,信息,SHA,算法,Salt,MD5
来源: https://blog.csdn.net/weixin_52296931/article/details/114868049

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有