第十五章 加密算法实例1--注册登录(消息摘要算法)
摘要:15.1、原理步骤注册:注册时,将用户密码加密放入数据库登录:登录时,将用户密码采用上述相同的算法加密,之后再与数据库中的信息进行比对,若相同,则登录15.2、实现(这里采用了SHA256算法,其他摘要算法MD5/SHA1/MAC类似)注意:这里的程序是在我之前写的一个maven+spring+sp...
阅读全文
posted @
2016-01-03 19:18
赵计刚
阅读(1184)
推荐(1) 编辑
第十四章 数字签名算法--RSA
摘要:注意:本节内容主要参考自《Java加密与解密的艺术(第2版)》第9章“带密钥的消息摘要算法--数字签名算法”《大型分布式网站架构(设计与实践)》第3章“互联网安全架构”14.1、数字签名算法特点:非对称加密算法+消息摘要算法的结合体抗否认性、认证数据来源、防止数据被篡改(具体意思与做法查看下边的过程...
阅读全文
posted @
2015-12-31 12:51
赵计刚
阅读(8648)
推荐(1) 编辑
第十三章 三种非对称加密算法总结
摘要:13.1、DH非对称算法的基石仅能用于密钥分配,不能用于加解密数据,一般加密数据用AES密钥长度:512~1024中的64的整数倍双方各有自己的密钥对13.2、RSA最经典的非对称加密算法也可认为是使用最多的非对称加密算法能用于密钥分配,也能用于加解密数据(“私钥加密,公钥解密”和“公钥加密,私钥解...
阅读全文
posted @
2015-12-30 19:06
赵计刚
阅读(1073)
推荐(0) 编辑
第十二章 非对称加密算法-RSA
摘要:注意:本节内容主要参考自《Java加密与解密的艺术(第2版)》第8章“高等加密算法--非对称加密算法”12.1、RSA(最经典的非对称加密算法)特点:使用一套密钥即可完成加解密(与DH不同)与DH不同的第二点是,RSA自己可以完成加解密,而DH需要依赖于对称加密算法“私钥加密,公钥解密”或“公钥加密...
阅读全文
posted @
2015-12-30 17:48
赵计刚
阅读(1286)
推荐(0) 编辑
第十一章 非对称加密算法--DH
摘要:注意:本节内容主要参考自《Java加密与解密的艺术(第2版)》第8章“高等加密算法--非对称加密算法”11.1、非对称加密算法特点:发送方和接收方均有一个密钥对(公钥+私钥),其中公钥传播,私钥自己保存,不需要传播私钥不需要传播的特性解决了对称加密算法中密钥传播的困难(这个困难一般通过线下传递可以解...
阅读全文
posted @
2015-12-30 15:39
赵计刚
阅读(2253)
推荐(0) 编辑
第十章 五种对称加密算法总结
摘要:10.1、DES已破解,不再安全,基本没有企业在用了是对称加密算法的基石,具有学习价值密钥长度56(JDK)、56/64(BC)10.2、DESede(三重DES)早于AES出现来替代DES计算密钥时间太长、加密效率不高,所以也基本上不用密钥长度112/168(JDK)、128/192(BC)10....
阅读全文
posted @
2015-12-30 10:14
赵计刚
阅读(6067)
推荐(2) 编辑
第九章 对称加密算法--IDEA
摘要:注意:本节内容主要参考自《Java加密与解密的艺术(第2版)》第7章“初等加密算法--对称加密算法”9.1、IDEA特点:先于AES出来取代DES安全性极高常用于电子邮件加密算法9.2、实现方式Bouncy Castle(BC,工作模式只有ECB,密钥长度为128位)9.2.1、基于BC实现的IDE...
阅读全文
posted @
2015-12-29 21:38
赵计刚
阅读(2428)
推荐(0) 编辑
第八章 对称加密算法--AES
摘要:注意:本节内容主要参考自《Java加密与解密的艺术(第2版)》第7章“初等加密算法--对称加密算法”8.1、AES特点:密钥建立时间短、灵敏性好、内存需求低(不管怎样,反正就是好)最常用的对称加密算法8.2、实现方式JDK(密钥长度有128,192,256三种选法,提供PKCS5Padding的填充...
阅读全文
posted @
2015-12-29 21:01
赵计刚
阅读(3968)
推荐(0) 编辑
第七章 对称加密算法--DES
摘要:注意:本节内容主要参考自《Java加密与解密的艺术(第2版)》第7章“初等加密算法--对称加密算法”7.1、对称加密算法特点:加密与解密使用同一个密钥是使用最广的算法常见对称加密算法:DES(已被破解,但是是其他对称算法的基石)DESede(处理速度慢、加密耗时,也不常用)AES(DES的替代者,最...
阅读全文
posted @
2015-12-29 18:23
赵计刚
阅读(829)
推荐(0) 编辑
第六章 三大消息摘要算法总结
摘要:6.1、MD5推荐使用CC(即Commons Codec)实现虽然已被破解,但是仍旧广泛用于注册登录模块与验证下载的文件的完整性可以自己写一个注册登录模块;自己下载一个MD5加密的文件,然后通过之前编写的工具类(或者使用CC的方法)进行验证(具体的例子在《Java加密与解密艺术(第二版)中有》)6....
阅读全文
posted @
2015-12-29 13:10
赵计刚
阅读(470)
推荐(0) 编辑
第五章 消息摘要算法--MAC
摘要:注意:本节内容主要参考自《Java加密与解密的艺术(第2版)》第6章“验证数据完整性--消息摘要算法”5.1、mac(又称为Hmac)原理:在md与sha系列算法的基础上加入了密钥,是三大常用的消息摘要算法中最安全的一个。常用的mac算法:HmacMD5HmacSHA1HmacSHA2565.2、实...
阅读全文
posted @
2015-12-29 12:48
赵计刚
阅读(1529)
推荐(0) 编辑
第四章 消息摘要算法--SHA
摘要:注意:本节内容主要参考自《Java加密与解密的艺术(第2版)》第6章“验证数据完整性--消息摘要算法”4.1、SHA原理:消息摘要长度(可以定量为加密后的字符串的长度)越长,安全性越高MD5:128位二进制摘要(32位16进制字符串)(已破解)SHA1:160位二进制摘要(40位16进制字符串)(已...
阅读全文
posted @
2015-12-28 22:52
赵计刚
阅读(1221)
推荐(0) 编辑
第三章 消息摘要算法--MD5
摘要:注意:本节内容主要参考自《Java加密与解密的艺术(第2版)》第6章“验证数据完整性--消息摘要算法” 3.1、消息摘要算法:防止消息在传递过程中被篡改。 原理:任何消息经过消息摘要算法后,都会产生唯一的散列值(即“数据指纹”)(同一段消息无论经过多少次相同的消息摘要算法加密,结果都相同),所以如果
阅读全文
posted @
2015-12-28 21:44
赵计刚
阅读(1264)
推荐(0) 编辑
第二章 Base64与URLBase64
摘要:2.1、算法基本规则:加密的算法公开加密的密钥不公开Base64算法公开、密钥也公开的特性不符合基本算法规则,所以很容易被破解,所以一般不用于企业级的加密操作。注意:具体的算法与密钥(对于Base64来讲,是一张字符映射表)可在《Java加密与解密的艺术(第2版)》第5章“电子邮件传输算法--Bas...
阅读全文
posted @
2015-12-28 18:28
赵计刚
阅读(7801)
推荐(1) 编辑
第一章 Java加解密简介
摘要:1、加密算法:移位、替代(古典加密)对称加密:DES、AES非对称加密:RSA散列函数算法(单向加密):MD5、SHA、Mac数字签名算法:RSA、DSA其中,前三种主要完成数据的加解密;散列函数类主要完成验证数据的完整性,防止消息在传递期间被篡改;数字签名类:完成验证数据的完整性,对数据来源以及收...
阅读全文
posted @
2015-12-28 11:52
赵计刚
阅读(965)
推荐(2) 编辑