加密解密
文本、配置文件等加密解密
Sunny3096
社会闲散人员
展开
-
【SpringBoot----配置文件加密解密】
jasypt代码地址:https://github.com/ulisesbocchio/jasypt-spring-boot一、引入依赖 <!-- jasypt方式一 --> <dependency> <groupId>com.github.ulisesbocchio</groupId> <artifactId>jasypt-spring-boot-starte...原创 2020-06-21 14:05:06 · 2132 阅读 · 0 评论 -
【Java----加密解密】第十四章 数字签名算法--RSA
注意:本节内容主要参考自《Java加密与解密的艺术(第2版)》第9章“带密钥的消息摘要算法--数字签名算法” 《大型分布式网站架构(设计与实践)》第3章“互联网安全架构”14.1、数字签名算法特点:非对称加密算法+消息摘要算法的结合体 抗否认性、认证数据来源、防止数据被篡改(具体意思与做法查看下边的过程与类比部分) 私钥加密(签名)、公钥解密(验证)过程:1)消息发送者产...原创 2019-06-13 15:19:31 · 237 阅读 · 0 评论 -
【Java----加密解密】第十三章 三种非对称加密算法总结
13.1、DH非对称算法的基石 仅能用于密钥分配,不能用于加解密数据,一般加密数据用AES 密钥长度:512~1024中的64的整数倍 双方各有自己的密钥对13.2、RSA最经典的非对称加密算法 也可认为是使用最多的非对称加密算法 能用于密钥分配,也能用于加解密数据(“私钥加密,公钥解密”和“公钥加密,私钥解密”) 密钥长度:512~65536(64的整数倍) 只有发送方有...原创 2019-06-13 15:19:09 · 198 阅读 · 0 评论 -
【Java----加密解密】第十二章 非对称加密算法-RSA
注意:本节内容主要参考自《Java加密与解密的艺术(第2版)》第8章“高等加密算法--非对称加密算法”12.1、RSA(最经典的非对称加密算法)特点:使用一套密钥即可完成加解密(与DH不同) 与DH不同的第二点是,RSA自己可以完成加解密,而DH需要依赖于对称加密算法 “私钥加密,公钥解密”或“公钥加密,私钥解密” 公钥长度远小于私钥长度(对下边的代码进行测试,自己比较结果)加...原创 2019-06-13 15:18:54 · 194 阅读 · 0 评论 -
【Java----加密解密】第十一章 非对称加密算法--DH
注意:本节内容主要参考自《Java加密与解密的艺术(第2版)》第8章“高等加密算法--非对称加密算法”11.1、非对称加密算法特点:发送方和接收方均有一个密钥对(公钥+私钥),其中公钥传播,私钥自己保存,不需要传播 私钥不需要传播的特性解决了对称加密算法中密钥传播的困难(这个困难一般通过线下传递可以解决) 加密安全性极高,只用于一些电子商务网站,加解密速度远低于对称加密 一般情况...原创 2019-06-13 15:18:20 · 174 阅读 · 0 评论 -
【Java----加密解密】第十章 五种对称加密算法总结
10.1、DES已破解,不再安全,基本没有企业在用了 是对称加密算法的基石,具有学习价值 密钥长度56(JDK)、56/64(BC)10.2、DESede(三重DES)早于AES出现来替代DES 计算密钥时间太长、加密效率不高,所以也基本上不用 密钥长度112/168(JDK)、128/192(BC)10.3、AES最常用的对称加密算法 密钥建立时间短、灵敏性好、内存需求...原创 2019-06-13 15:17:41 · 221 阅读 · 0 评论 -
【Java----加密解密】第九章 对称加密算法--IDEA
注意:本节内容主要参考自《Java加密与解密的艺术(第2版)》第7章“初等加密算法--对称加密算法”9.1、IDEA特点:先于AES出来取代DES 安全性极高 常用于电子邮件加密算法9.2、实现方式Bouncy Castle(BC,工作模式只有ECB,密钥长度为128位)9.2.1、基于BC实现的IDEA算法package com.util.idea;import...原创 2019-06-12 08:21:42 · 319 阅读 · 0 评论 -
【Java----加密解密】第八章 对称加密算法--AES
注意:本节内容主要参考自《Java加密与解密的艺术(第2版)》第7章“初等加密算法--对称加密算法”8.1、AES特点:密钥建立时间短、灵敏性好、内存需求低(不管怎样,反正就是好) 最常用的对称加密算法8.2、实现方式JDK(密钥长度有128,192,256三种选法,提供PKCS5Padding的填充模式) Bouncy Castle(密钥长度有128,192,256三种选法...原创 2019-06-12 08:21:11 · 184 阅读 · 0 评论 -
【Java----加密解密】第七章 对称加密算法--DES
注意:本节内容主要参考自《Java加密与解密的艺术(第2版)》第7章“初等加密算法--对称加密算法”7.1、对称加密算法特点:加密与解密使用同一个密钥 是使用最广的算法常见对称加密算法:DES(已被破解,但是是其他对称算法的基石) DESede(处理速度慢、加密耗时,也不常用) AES(DES的替代者,最常用) IDEA(目前常用的电子邮件加密算法) PBE(对已知对称...原创 2019-06-12 08:20:21 · 145 阅读 · 0 评论 -
【Java----加密解密】第六章 三大消息摘要算法总结
6.1、MD5推荐使用CC(即Commons Codec)实现 虽然已被破解,但是仍旧广泛用于注册登录模块与验证下载的文件的完整性 可以自己写一个注册登录模块;自己下载一个MD5加密的文件,然后通过之前编写的工具类(或者使用CC的方法)进行验证(具体的例子在《Java加密与解密艺术(第二版)中有》)6.2、SHA推荐使用CC(即Commons Codec)实现 SHA1已被破解,S...原创 2019-06-12 08:20:01 · 131 阅读 · 0 评论 -
【Java----加密解密】第二章 Base64与URLBase64
2.1、算法基本规则:加密的算法公开 加密的密钥不公开Base64算法公开、密钥也公开的特性不符合基本算法规则,所以很容易被破解,所以一般不用于企业级的加密操作。注意:具体的算法与密钥(对于Base64来讲,是一张字符映射表)可在《Java加密与解密的艺术(第2版)》第5章“电子邮件传输算法--Base64”中查看2.2、应用场景简单加密(加密要求不高的情况下,即一眼看不...原创 2019-06-12 08:19:37 · 3458 阅读 · 0 评论 -
【Java----加密解密】第一章 Java加解密简介
1、加密算法:移位、替代(古典加密) 对称加密:DES、AES 非对称加密:RSA 散列函数算法(单向加密):MD5、SHA、Mac 数字签名算法:RSA、DSA其中,前三种主要完成数据的加解密;散列函数类主要完成验证数据的完整性,防止消息在传递期间被篡改;数字签名类:完成验证数据的完整性,对数据来源以及收发双方进行验证。2、常用的加密工具JDK自带的安全类 Bou...原创 2019-06-12 08:18:56 · 96 阅读 · 0 评论 -
【Java----加密解密】第十五章 加密算法实例1--注册登录(消息摘要算法)
第十五章 加密算法实例1--注册登录(消息摘要算法)15.1、原理步骤注册:注册时,将用户密码加密放入数据库 登录:登录时,将用户密码采用上述相同的算法加密,之后再与数据库中的信息进行比对,若相同,则登录15.2、实现(这里采用了SHA256算法,其他摘要算法MD5/SHA1/MAC类似)注意:这里的程序是在我之前写的一个maven+spring+springmvc+mybatis...原创 2017-07-13 11:49:00 · 144 阅读 · 0 评论 -
【Java----加密解密】第五章 消息摘要算法--MAC
第五章 消息摘要算法--MAC注意:本节内容主要参考自《Java加密与解密的艺术(第2版)》第6章“验证数据完整性--消息摘要算法”5.1、mac(又称为Hmac)原理:在md与sha系列算法的基础上加入了密钥,是三大常用的消息摘要算法中最安全的一个。常用的mac算法:HmacMD5 HmacSHA1 HmacSHA2565.2、实现方式JDK(缺少二进制字节数组转十...原创 2017-07-13 11:40:00 · 128 阅读 · 0 评论 -
【Java----加密解密】第四章 消息摘要算法--SHA
第四章 消息摘要算法--SHA注意:本节内容主要参考自《Java加密与解密的艺术(第2版)》第6章“验证数据完整性--消息摘要算法”4.1、SHA原理:消息摘要长度(可以定量为加密后的字符串的长度)越长,安全性越高MD5:128位二进制摘要(32位16进制字符串)(已破解) SHA1:160位二进制摘要(40位16进制字符串)(已破解) SHA256:256位二进制摘要(64位...原创 2017-07-13 11:38:00 · 101 阅读 · 0 评论 -
【Java----加密解密】第三章 消息摘要算法--MD5
第三章 消息摘要算法--MD5注意:本节内容主要参考自《Java加密与解密的艺术(第2版)》第6章“验证数据完整性--消息摘要算法”3.1、消息摘要算法:防止消息在传递过程中被篡改。原理:任何消息经过消息摘要算法后,都会产生唯一的散列值(即“数据指纹”)(同一段消息无论经过多少次相同的消息摘要算法加密,结果都相同),所以如果消息在传送过程中被修改,那么算出来的数据指纹也与原本的消息算出...原创 2017-07-13 11:37:00 · 100 阅读 · 0 评论