文章分类 -  加密解密

BCrypt对密码进行加密及密码验证
摘要:先看一下BCrypt的加密及验证的代码: 先引入jbcrypt-0.4.jar,下载地址:https://download.csdn.net/download/phpfzh/9789560 import org.mindrot.jbcrypt.BCrypt; public class BCryptT 阅读全文

posted @ 2019-03-25 10:49 我是司 阅读(4412) 评论(1) 推荐(0) 编辑

第十五章 加密算法实例1--注册登录(消息摘要算法)
摘要:15.1、原理步骤 注册:注册时,将用户密码加密放入数据库 登录:登录时,将用户密码采用上述相同的算法加密,之后再与数据库中的信息进行比对,若相同,则登录 15.2、实现(这里采用了SHA256算法,其他摘要算法MD5/SHA1/MAC类似) 注意:这里的程序是在我之前写的一个maven+sprin 阅读全文

posted @ 2019-02-19 11:33 我是司 阅读(267) 评论(0) 推荐(0) 编辑

第十四章 数字签名算法--RSA
摘要:14.1、数字签名算法 特点: 非对称加密算法+消息摘要算法的结合体 抗否认性、认证数据来源、防止数据被篡改(具体意思与做法查看下边的过程与类比部分) 私钥加密(签名)、公钥解密(验证) 过程: 1)消息发送者产生一个密钥对(私钥+公钥),然后将公钥发送给消息接收者 2)消息发送者使用消息摘要算法对 阅读全文

posted @ 2019-02-19 11:30 我是司 阅读(474) 评论(0) 推荐(0) 编辑

第十三章 三种非对称加密算法总结
摘要:13.1、DH 非对称算法的基石 仅能用于密钥分配,不能用于加解密数据,一般加密数据用AES 密钥长度:512~1024中的64的整数倍 双方各有自己的密钥对 13.2、RSA 最经典的非对称加密算法 也可认为是使用最多的非对称加密算法 能用于密钥分配,也能用于加解密数据(“私钥加密,公钥解密”和“ 阅读全文

posted @ 2019-02-19 09:23 我是司 阅读(264) 评论(0) 推荐(0) 编辑

第十二章 非对称加密算法-RSA
摘要:12.1、RSA(最经典的非对称加密算法) 特点: 使用一套密钥即可完成加解密(与DH不同) 与DH不同的第二点是,RSA自己可以完成加解密,而DH需要依赖于对称加密算法 “私钥加密,公钥解密”或“公钥加密,私钥解密” 公钥长度远小于私钥长度(对下边的代码进行测试,自己比较结果) 加解密流程: 1) 阅读全文

posted @ 2019-02-19 09:22 我是司 阅读(285) 评论(0) 推荐(0) 编辑

第十一章 非对称加密算法--DH
摘要:11.1、非对称加密算法 特点: 发送方和接收方均有一个密钥对(公钥+私钥),其中公钥传播,私钥自己保存,不需要传播 私钥不需要传播的特性解决了对称加密算法中密钥传播的困难(这个困难一般通过线下传递可以解决) 加密安全性极高,只用于一些电子商务网站,加解密速度远低于对称加密 一般情况下,为了解决非对 阅读全文

posted @ 2019-02-19 09:07 我是司 阅读(230) 评论(0) 推荐(0) 编辑

第十章 五种对称加密算法总结
摘要:10.1、DES 已破解,不再安全,基本没有企业在用了 是对称加密算法的基石,具有学习价值 密钥长度56(JDK)、56/64(BC) 10.2、DESede(三重DES) 早于AES出现来替代DES 计算密钥时间太长、加密效率不高,所以也基本上不用 密钥长度112/168(JDK)、128/192 阅读全文

posted @ 2019-02-18 17:32 我是司 阅读(224) 评论(0) 推荐(0) 编辑

第九章 对称加密算法--IDEA
摘要:9.1、IDEA 特点: 先于AES出来取代DES 安全性极高 常用于电子邮件加密算法 9.2、实现方式 Bouncy Castle(BC,工作模式只有ECB,密钥长度为128位) 9.2.1、基于BC实现的IDEA算法 package com.util.idea; import java.io.U 阅读全文

posted @ 2019-02-18 17:31 我是司 阅读(567) 评论(0) 推荐(0) 编辑

第八章 对称加密算法--AES
摘要:8.1、AES 特点: 密钥建立时间短、灵敏性好、内存需求低(不管怎样,反正就是好) 最常用的对称加密算法 8.2、实现方式 JDK(密钥长度有128,192,256三种选法,提供PKCS5Padding的填充模式) Bouncy Castle(密钥长度有128,192,256三种选法,提供PKCS 阅读全文

posted @ 2019-02-18 17:29 我是司 阅读(185) 评论(0) 推荐(0) 编辑

第七章 对称加密算法--DES
摘要:7.1、对称加密算法 特点: 加密与解密使用同一个密钥 是使用最广的算法 常见对称加密算法: DES(已被破解,但是是其他对称算法的基石) DESede(处理速度慢、加密耗时,也不常用) AES(DES的替代者,最常用) IDEA(目前常用的电子邮件加密算法) PBE(对已知对称加密进行包装) 7. 阅读全文

posted @ 2019-02-18 17:25 我是司 阅读(220) 评论(0) 推荐(0) 编辑

第六章 三大消息摘要算法总结
摘要:6.1、MD5 推荐使用CC(即Commons Codec)实现 虽然已被破解,但是仍旧广泛用于注册登录模块与验证下载的文件的完整性 可以自己写一个注册登录模块;自己下载一个MD5加密的文件,然后通过之前编写的工具类(或者使用CC的方法)进行验证(具体的例子在《Java加密与解密艺术(第二版)中有》 阅读全文

posted @ 2019-02-18 17:20 我是司 阅读(136) 评论(0) 推荐(0) 编辑

第五章 消息摘要算法--MAC
摘要:5.1、mac(又称为Hmac) 原理:在md与sha系列算法的基础上加入了密钥,是三大常用的消息摘要算法中最安全的一个。 常用的mac算法: HmacMD5 HmacSHA1 HmacSHA256 5.2、实现方式 JDK(缺少二进制字节数组转十六进制的工具,可借助CC或BC的工具类完成) Com 阅读全文

posted @ 2019-02-18 17:18 我是司 阅读(400) 评论(0) 推荐(0) 编辑

第四章 消息摘要算法--SHA
摘要:4.1、SHA 原理:消息摘要长度(可以定量为加密后的字符串的长度)越长,安全性越高 MD5:128位二进制摘要(32位16进制字符串)(已破解) SHA1:160位二进制摘要(40位16进制字符串)(已破解) SHA256:256位二进制摘要(64位16进制字符串)(常用,在spring secu 阅读全文

posted @ 2019-02-18 17:12 我是司 阅读(318) 评论(0) 推荐(0) 编辑

第三章 消息摘要算法--MD5
摘要:3.1、消息摘要算法:防止消息在传递过程中被篡改。 原理:任何消息经过消息摘要算法后,都会产生唯一的散列值(即“数据指纹”)(同一段消息无论经过多少次相同的消息摘要算法加密,结果都相同),所以如果消息在传送过程中被修改,那么算出来的数据指纹也与原本的消息算出来的不同了,如果没有被修改,则数据指纹是相 阅读全文

posted @ 2019-02-18 17:09 我是司 阅读(219) 评论(0) 推荐(0) 编辑

第二章 Base64与URLBase64
摘要:2.1、算法基本规则: 加密的算法公开 加密的密钥不公开 Base64算法公开、密钥也公开的特性不符合基本算法规则,所以很容易被破解,所以一般不用于企业级的加密操作。 注意:具体的算法与密钥(对于Base64来讲,是一张字符映射表)可在《Java加密与解密的艺术(第2版)》第5章“电子邮件传输算法- 阅读全文

posted @ 2019-02-18 17:06 我是司 阅读(4175) 评论(0) 推荐(0) 编辑

第一章 Java加解密简介
摘要:1、加密算法: 移位、替代(古典加密) 对称加密:DES、AES 非对称加密:RSA 散列函数算法(单向加密):MD5、SHA、Mac 数字签名算法:RSA、DSA 其中,前三种主要完成数据的加解密; 散列函数类主要完成验证数据的完整性,防止消息在传递期间被篡改; 数字签名类:完成验证数据的完整性, 阅读全文

posted @ 2019-02-18 17:02 我是司 阅读(80) 评论(0) 推荐(0) 编辑

加密解密
摘要:package com.opslab.util.encrypt; import java.io.IOException;import java.io.UnsupportedEncodingException;import java.security.InvalidKeyException;impor 阅读全文

posted @ 2019-01-11 14:19 我是司 阅读(749) 评论(0) 推荐(0) 编辑

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示