转自:http://www.cnblogs.com/cxygg/p/9468653.html
https://blog.csdn.net/hengshujiyi/article/details/45972533

MD5 SHA1 SHA256 SHA512 这4种本质都是摘要函数,不通在于长度 MD5 是 128 位,SHA1 是 160 位 ,SHA256 是 256 位,SHA512 是512 位。

SHA1WithRSA 他的 核心算法是 先用sha1 去摘要,然后使用 RSA 加密。但是 他在 sha1 的过程中 加入了一些 关于算法的东西。

备注:apache commoms-codec 里面的 DigestUtils 有关于 这些关于这些摘要算法的封装。

作用特点:

SHA1:公钥后处理回传,SHA1是不可逆的、防冲突
MD5:防篡改
MD5和SHA1是2种加密算法,用于计算出一段不可逆向计算的数值,以此来验证该文件是否被修改的.

AES:更快,兼容设备,安全级别高;
DES:本地数据,安全级别低
RSA:非对称加密,有公钥和私钥

  • AES:高级加密标准(英语:Advanced Encryption Standard,缩写:AES),在密码学中又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。经过五年的甄选流程,高级加密标准由美国国家标准与技术研究院(NIST)于2001年11月26日发布于FIPS
    PUB 197,并在2002年5月26日成为有效的标准。2006年,高级加密标准已然成为对称密钥加密中最流行的算法之一。

  • DES:现在已经不是一种安全的加密方法,主要因为它使用的56位密钥过短。1999年1月,distributed.net与电子前哨基金会合作,在22小时15分钟内即公开破解了一个DES密钥。也有一些分析报告提出了该算法的理论上的弱点,虽然在实际中难以应用。为了提供实用所需的安全性,可以使用DES的派生算法3DES来进行加密,虽然3DES也存在理论上的攻击方法。在2001年,DES作为一个标准已经被高级加密标准(AES)所取代。另外,DES已经不再作为国家标准科技协会(前国家标准局)的一个标准。

  • SHA1 在1993年,安全散列算法(SHA)由美国国家标准和技术协会(NIST)提出,并作为联邦信息处理标准(FIPS PUB
    180)公布;1995年又发布了一个修订版FIPS PUB
    180-1,通常称之为SHA-1。SHA-1是基于MD4算法的,并且它的设计在很大程度上是模仿MD4的。现在已成为公认的最安全的散列算法之一,并被广泛使用。

    原理
    SHA1是一种数据加密算法,该算法的思想是接收一段明文,然后以一种不可逆的方式将它转换成一段(通常更小)密文,也可以简单的理解为取一串输入码(称为预映射或信息),并把它们转化为长度较短、位数固定的输出序列即散列值(也称为信息摘要或信息认证代码)的过程。

    单向散列函数的安全性在于其产生散列值的操作过程具有较强的单向性。如果在输入序列中嵌入密码,那么任何人在不知道密码的情况下都不能产生正确的散列值,从而保证了其安全性。SHA将输入流按照每块512位(64个字节)进行分块,并产生20个字节的被称为信息认证代码或信息摘要的输出。

    该算法输入报文的最大长度不超过264位,产生的输出是一个160位的报文摘要。输入是按512
    位的分组进行处理的。SHA1是不可逆的、防冲突,并具有良好的雪崩效应。

    通过散列算法可实现数字签名实现,数字签名的原理是将要传送的明文通过一种函数运算(Hash)转换成报文摘要(不同的明文对应不同的报文摘要),报文摘要加密后与明文一起传送给接受方,接受方将接受的明文产生新的报文摘要与发送方的发来报文摘要解密比较,比较结果一致表示明文未被改动,如果不一致表示明文已被篡改。

MD5 SHA1 SHA256 SHA512 SHA1WithRSA RSA 的区别相关推荐

  1. 摘要/哈希/散列算法MD5 SHA1 SHA256 SHA512的区别和MAC算法

    目录 一.摘要算法大致都要经过以下步骤 1. 明文数据预处理 1.1 填充比特 1.2 附加消息长度 2. 摘要计算 2.1 常量初始化 2.2 分组及分组拓展和分组分段 2.3 轮函数(每段一轮,此 ...

  2. python hashlib库(MD5,sha1,sha256,sha512,pbkdf2_hmac)用法及pbkdf2原理

    文章目录 1 python hashlib 库 1.1 md5 1.2 sha1 1.3 sha256 1.4 sha512 1.5 pbkdf2_hmac 2 PBKDF2 函数原理 2.1 PBK ...

  3. [JAVA]数字摘要算法工具类——(Hamc)MD5/SHA1/SHA256/SHA512/PBKDF2

    文章目录 API调取 精简版的JAVA代码 完整代码 API调取 方法 补充说明 getMD5 获得MD5摘要 getSHA1 获得SHA1摘要 getSHA256 获得SHA256摘要 getSHA ...

  4. 如何利用openssl来计算md4, md5, sha1, sha256, sha384, sha512等常用哈希值?

    转载:http://blog.csdn.net/stpeace/article/details/41922115 openssl的库的用法, 前面已经介绍了, 所以不再啰嗦, 直接给出代码: [cpp ...

  5. 快速计算文件的MD5/SHA1/SHA256等校验值(Windows/Linux)

    从网络上下载文件,尤其是非常大的文件怎么确保文件准确无误呢? 通常网站提供文件时会同时提供该文件的校验值,如MD5,SHA1,SHA256等, 当文件下载完成后,计算它的校验值,如果和网站提供的一致, ...

  6. 使用Windows自带的工具计算文件的 MD5 SHA1 SHA256

    使用Windows自带的工具计算文件的 MD5 SHA1 SHA256 很多网站会提供下载文件的校验码信息,在下载文件之后,如何方便地计算MD5 SHA1 SHA256等校验和呢?之前我常用的工具是H ...

  7. Windows系统中通过命令查看文件的MD5,SHA1,SHA256校验值

    Windows系统中通过命令查看文件的MD5,SHA1,SHA256校验值 命令格式如下: certutil -hashfile yourfilename MD5 certutil -hashfile ...

  8. MD5,SHA-1,SHA-256摘要加解密

    2019独角兽企业重金招聘Python工程师标准>>> /*** 对字符串加密,加密算法使用MD5,SHA-1,SHA-256,默认使用SHA-256** @param strSrc ...

  9. Hash校验工具、MD5 SHA1 SHA256命令行工具

    MyHash 检验工具http://www.zdfans.com/html/4346.html HashMyFiles Hash校验工具http://www.nirsoft.net/utils/has ...

最新文章

  1. JSF/SpringMVC/Struts2区别与比较
  2. DNS-实验6_queryperf和dnstop的简单使用
  3. Robert C. Martin关于UML、CASE的观点
  4. java包装模式_在Java8中包装设计模式
  5. STL14-set/multiset容器
  6. s5pv210 linux内核移植,S5PV210(TQ210)学习笔记——内核移植与文件系统构建之二
  7. ofstream 的中文目录问题
  8. 漫画:数据结构之最短路径 Dijkstra 算法的优化 | 技术头条
  9. SharedCache分析:服务端程序
  10. http get和post的区别
  11. http1.0 与 http1.1
  12. mybatis一简单one2one关系xml配置
  13. Javascript:模拟ztree侧边栏的回收
  14. 数学分析与高等数学的异同
  15. 计算机小高考要点,小高考的复习计划
  16. 停课不停学致家长的一封信
  17. EKMA曲线及大气O3来源解析
  18. python打包加密工具:Pyinstaller和Nuitka
  19. 襄阳教育云平台实名认证_襄阳教育云平台学生空间官网-优教信使襄阳教育云平台下载V4.1.6-西西软件下载...
  20. 能够打开国内网络,比如百度微信,但是打不开外国网站,该怎么解决(主要是DNS的问题)...

热门文章

  1. 微信小程序--数据库数据批量导出为excel文件,预览下载
  2. 《HelloGitHub》第 74 期
  3. 外贸b2c网站建设!
  4. Matlab画天球坐标图,知道方位角和高度角
  5. 知物由学 | 一文读懂Android资源文件保护
  6. Windows10总弹出打开文件安全警告怎么关闭
  7. AD16布局流程及注意事项
  8. Python 立体图形的画法(一)
  9. 立体图形3D动画和绘制
  10. 月结重头戏--外币评估