敲一天代码了,轻松下吧,精彩 !看人潮如海

先来首歌曲,耶耶耶.....

一边听歌,一遍来看几个算法

一、数字摘要算法

数字摘要也称为消息摘要,它是一个唯一对应一个消息或文本的固定长度的值,它由一个单向 Hash 函数对消息进行计算而产生。如果消息在传递的途中改变了,接收者通过对收到消息采用相同的 Hash 重新计算,新产生的摘要与原摘要进行比较,就可知道消息是否被篡改了,因此消息摘要能够验证消息的完整性。消息摘要采用单向 Hash 函数将需要计算的内容”摘要”成固定长度的串,这个串亦称为数字指纹。这个串有固定的长度,且不同的明文摘要成密文,其结果总是不同的(相对的),而同样的明文其摘要必定一致。这样这串摘要便可成为验证明文是否是”真身”的”指纹”了。

1. Md5

MD5 即 Message Digest Algorithm 5(信息摘要算法 5),是数字摘要算法一种实现,用于确保信息传输完整性和一致性,摘要长度为 128 位。 MD5 由 MD4、 MD3、 MD2 改进而来,主要增强算法复杂度和不可逆性,该算法因其普遍、稳定、快速的特点,在产业界得到了极为广泛的使用,目前主流的编程语言普遍都已有 MD5 算法实现。

2.SHA

SHA 的全称是 Secure Hash Algorithm,即安全散列算法。 1993 年,安全散列算法(SHA)由美国国家标准和技术协会(NIST)提出,并作为联邦信息处理标准(FIPS PUB 180)公布, 1995 年又发布了一个修订版 FIPS PUB 180-1,通常称之为 SHA-1。 SHA-1 是基于 MD4 算法的,现在已成为公认的最安全的散列算法之一,并被广泛使用。SHA-1 算法生成的摘要信息的长度为 160 位,由于生成的摘要信息更长,运算的过程更加复杂,在相同的硬件上, SHA-1 的运行速度比 MD5 更慢,但是也更为安全。

二、对称加密

对称加密算法是应用较早的加密算法,技术成熟。在对称加密算法中,数据发送方将明文(原始数据)和加密密钥一起经过特殊加密算法处理后,生成复杂的加密密文进行发送,数据接收方收到密文后,若想读取原文,则需要使用加密使用的密钥及相同算法的逆算法对加密的密文进行解密,才能使其恢复成可读明文。在对称加密算法中,使用的密钥只有一个,发送和接收双方都使用这个密钥对数据进行加密和解密,这就要求加密和解密方事先都必须知道加密的密钥。

1. DES 算法

1973 年,美国国家标准局(NBS)在认识到建立数据保护标准既明显又急迫的情况下,开始征集联邦数据加密标准的方案。 1975 年 3 月 17 日, NBS 公布了 IBM 公司提供的密码算法,以标准建议的形式在全国范围内征求意见。经过两年多的公开讨论之后, 1977 年 7 月 15 日, NBS 宣布接受这建议,作为联邦信息处理标准 46 号数据加密标准(Data Encryptin Standard),即 DES 正式颁布,供商业界和非国防性政府部门使用。DES 算法属于对称加密算法,明文按 64 位进行分组,密钥长 64 位,但事实上只有 56 位参与 DES 运算(第 8、 16、 24、 32、 40、 48、 56、 64 位是校验位,使得每个密钥都有奇数个 1), 分组后的明文和 56 位的密钥按位替代或交换的方法形成密文。由于计算机运算能力的增强,原版 DES 密码的密钥长度变得容易被暴力破解,因此演变出了 3DES 算法。 3DES 是 DES 向 AES 过渡的加密算法,它使用 3 条 56 位的密钥对数据进行三次加密,是 DES 的一个更安全的变形

2. AES

AES 的全称是 Advanced Encryption Standard,即高级加密标准,该算法由比利时密码学家 Joan Daemen 和 Vincent Rijmen 所设计,结合两位作者的名字,又称 Rijndael 加密算法,是美国联邦政府采用的一种对称加密标准,这个标准用来替代原先的 DES 算法,已经广为全世界所使用,已然成为对称加密算法中最流行的算法之一。AES 算法作为新一代的数据加密标准汇聚了强安全性、高性能、高效率、易用和灵活等优 点,设计有三个密钥长度:128,192,256 位,比 DES 算法的加密强度更高,更为安全。

三、非对称加密

非对称加密算法又称为公开密钥加密算法,它需要两个密钥,一个称为公开密钥(public key),即公钥,另一个称为私有密钥(private key),即私钥。公钥与私钥需要配对使用,如果用公钥对数据进行加密,只有用对应的私钥才能进行解密,而如果使用私钥对数据进行加密,那么只有用对应的公钥才能进行解密。因为加密和解密使用的是两个不同的密钥,所以这种算法称为非对称加密算法。非对称加密算法实现机密信息交换的基本过程是:甲方生成一对密钥并将其中的一把作为公钥向其它人公开,得到该公钥的乙方使用该密钥对机密信息进行加密后再发送给甲方,甲方再使用自己保存的另一把专用密钥,即私钥,对加密后的信息进行解密。

RSA

RSA 非对称加密算法是 1977 年由 Ron Rivest、 Adi Shamirh 和 LenAdleman 开发的, RSA 取名来自开发他们三者的名字。 RSA 是目前最有影响力的非对称加密算法,它能够抵抗到目前为止已知的所有密码攻击,已被 ISO 推荐为公钥数据加密标准。 RSA 算法基于一个十分简单的数论事实:将两个大素数相乘十分容易,但反过来想要对其乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥。


看不懂没关系,这种神奇的文章就适合收藏关注和转发朋友圈,证明我们就是java界的大神.....

最后,也是我们今天要讲的重点,上面的歌听得怎么样,是不是很带劲,是不是解决一天bug后,心情舒畅了很多呢?

原文发布于微信公众号 - 码神联盟(lkchatspace)

原文发表时间:2017-07-28

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏企鹅号快讯

黑客们都是如何给勒索软件加密的?

加密是计算机科学中历史最长久的一种计算了。早在二战时期,德国就制造了Enigma密码机,来传输机密信息。计算机科学的祖师爷之一图灵也参与了对Enigma密码的破...

2219
来自专栏java一日一条

DES/3DES/AES 三种对称加密算法在 Java 中的实现

1)算法和数据结构就是编程的一个重要部分,你若失掉了算法和数据结构,你就把一切都失掉了。 2)编程就是算法和数据结构,算法和数据结构是编程的灵魂。

1292
来自专栏GAIAWORLD

GaiaWorld:加密技术在区块链中的意义

加密技术作为区块链技术里极其重要、不可或缺的一部分,为区块链的匿名性、不可篡改和不可伪造等特点保驾护航。如果说共识机制是区分一个公链质量的核心和灵魂,那么加密算...

990
来自专栏小工匠技术圈

【Java小工匠聊密码学】--非对称加密--RSA1

  RSA加密算法是一种非对称加密算法。在公开密钥加密和电子商业中RSA被广泛使用。RSA是1977年由罗纳德·李维斯特(Ron Rivest)、阿迪·萨莫尔(...

833
来自专栏安恒信息

NSA能破解大部分Tor加密密钥

全研究人员认为,Tor匿名网络使用的大部分密钥能被美国国家安全局(NSA)破解。 渗透测试公司Errata Security CEO Rob Graham设立了...

3053
来自专栏吴伟祥

加密 原

在日常设计及开发中,为确保数据传输和数据存储的安全,可通过特定的算法,将数据明文加密成复杂的密文。目前主流加密手段大致可分为单向加密和双向加密。

773
来自专栏安恒网络空间安全讲武堂

学习分享 | Padding Oracle

0x00前言 之前写CBC翻转攻击的时候就在想什么时候能遇到Padding Oracle的题目hhhhh 想不到这么快就遇到了hhhhh ------- 0x0...

2288
来自专栏程序你好

区块链科普:非对称加密、椭圆曲线加密算法

区块链技术的应用和开发,数字加密技术是关键。一旦加密方法遭到破解,区块链的数据安全将受到挑战,区块链的不可篡改性将不复存在。

1902
来自专栏阮一峰的网络日志

密码学笔记

1. 加密方法可以分为两大类。一类是单钥加密(private key cryptography),还有一类叫做双钥加密(public key cryptogra...

3374
来自专栏Java技术栈

常用加密算法解析

今天介绍下工作当中常用的加密算法、分类、应用。 1、对称加密算法 所谓对称,就是采用这种加密方法的双方使用方式用同样的密钥进行加密和解密。密钥是控制加密及解密过...

6647

扫码关注云+社区

领取腾讯云代金券