cooking java ——加密解密
java安全与密码概述
主要分为三部分:
- 密码学基础,包括:相关术语;分类;常用安全体系。
- java的安全组成;jdk以及第三方扩展。
- 相关实现代码,包括:base64、MD5········
密码学基础
相关术语
- 明文:待加密的信息
- 密文:加密后的明文
- 加密:明文转密文
- 加密算法:明文转密文的算法
- 加密密钥:加密算法进行加密操作的密钥
- 解密:密文转为明文
- 解密算法:密文转成明文的算法
- 解密密钥:解密算法进行解密操作的密钥
- 密码分析:截取密文,通过分析推出明文或密钥
- 密码体系:明文空间、密文空间、密钥空间、加密算法、解密算法
- 密码协议:安全协议,以密码学为基础的信息交换通信协议
- 密码系统:加密,解密的系统
- 柯克霍夫原则:数据的安全集与密钥而不是算法,对密钥保密,对算法公开,现代密码学设计的基本原则
分类
按时间分类:
- 古典密码:以字符为基本加密单元
- 现代密码:以信息块为基本加密单元
按保密内容分类:
- 受限制算法:保密性基于算法的保密
- 集与密钥算法:保密性基于对密钥的保密
明文处理方法分类:
- 分组密码:用同一密钥和算法加密固定长度的组
- 流密码:也称序列密码,每次加密一位或者一个字节
密码体系
- 对称密码:加密解密密钥相同
- 非对称密码:密钥分公钥和私钥,加密解密密钥不相同
- 对称密码算法:应用于对称密码的加密,解密算法
- 非对称密码算法:应用于非对称密码的加密,解密算法
散列函数
用于验证数据的完整性,特点是:
- 长度不受限制
- 哈希值容易计算
- 散列原酸过程不可逆
有这些特性,发展处很多有关散列函数相关的算法,如:
- 消息摘要算法MD5
- SHA:安全散列算法
- MAC:消息认证码算法
安全体系
常用的安全体系有两种:OSI安全体系和TCP/IP安全体系,这儿就不过多讲解,放两张安全体系图大致了解下即可。


java安全体系
组成
- JCA(Java Cryptography Architecture)
- JCE(Java Cryptography Extension)
- JSSE(Java Secure Socket Extension)
- JAAS(Java Authentication and Authentication Service)
相关包和类
- java.security:消息摘要
- java.crypto:安全消息摘要,消息认证鉴别码
- java.net.ssl:安全套接字
第三方扩展
- Bouncy Castle:支持两种方式使用,一是在jdk中配置,再者就是调用addprovider
- Commons Codec:是apache开源项目,支持BASE64,URL编码解码
cooking java ——加密解密的更多相关文章
- java加密解密的学习
注:此文章只是对如何学习java加密解密技术做一个讲解.并不涉及具体的知识介绍,如果有需要请留言,有时间我补冲长.个人觉着学习一个学习方法比学习一个知识点更有价值的多. 首先,对于加密解密知识体系没有 ...
- Java加密解密字符串
http://www.cnblogs.com/vwpolo/archive/2012/07/18/2597232.html Java加密解密字符串 旧文重发:http://www.blogjava ...
- java加密解密
java加密解密 public class MD5Util { /** * @param args */ public static void main(String[] args) { System ...
- password学4——Java 加密解密之消息摘要算法(MD5 SHA MAC)
Java 加密解密之消息摘要算法(MD5 SHA MAC) 消息摘要 消息摘要(Message Digest)又称为数字摘要(Digital Digest). 它是一个唯一相应一个消息或文本的固定长度 ...
- Java加密解密大全
ChinaSEI系列讲义(By 郭克华) Java加密解密方法大全 如果有文字等小错,请多包涵.在不盈利的情况下,欢迎免费传播. 版权所有.郭克华 本讲义经 ...
- java加密解密算法位运算
一.实例说明 本实例通过位运算的异或运算符 “ ^ ” 把字符串与一个指定的值进行异或运算,从而改变每个字符串中字符的值,这样就可以得到一个加密后的字符串.当把加密后的字符串作为程序输入内容,异或运算 ...
- ◆JAVA加密解密-3DES
从数据安全谈起 当你使用网银时,是否担心你的银行卡会被盗用? 当你和朋友用QQ进行聊天时,是否担心你的隐私会被泄露? 作为开发者,编写安全的代码比编写优雅的代码更重要,因为 ...
- java加密-解密小结
加密算法可以分为 双向加密(对称加密.不对称加密) 单向加密(不可逆加密)—— MD5.sha.hmac... 在对称加密算法中,使用的密钥只有一个,发收信双方都使用这个密钥对数据进行加密和解密 有: ...
- Java加密解密相关
关于解释加密解密中的填充方案: http://laokaddk.blog.51cto.com/368606/461279/ 关于对称加密中的反馈模式: http://blog.csdn.net/aaa ...
随机推荐
- GCC4.8对new和delete的参数匹配新要求
一段通信协议的代码,早年在GCC 4.4.VS2013下编译都挺好的,移植到GCC 4.8 ,为C++ 11做准备,在编译的时候发现问题 源代码省略后的版本如下: class Zerg_App_Fra ...
- [转载] I wish you enough
几天前,我在机场无意中听到一对父女告别时最后一刻的对白.广播员已经通知大家准备登机了.他们站在安检口旁边紧紧拥抱,父亲对女儿说:“我爱你,希望你一切都充足!” 女儿回答:“爸爸,我是那么满足我们在一起 ...
- spring注解使用
一.各种注解方式 1.@Autowired注解(不推荐使用,建议使用@Resource) @Autowired可以对成员变量.方法和构造函数进行标注,来完成自动装配的工作.@Autowired的标注位 ...
- HDU 5768 Lucky7 (中国剩余定理+容斥)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5768 给你n个同余方程组,然后给你l,r,问你l,r中有多少数%7=0且%ai != bi. 比较明显 ...
- POJ 1064 Cable master (二分答案)
题目链接:http://poj.org/problem?id=1064 有n条绳子,长度分别是Li.问你要是从中切出m条长度相同的绳子,问你这m条绳子每条最长是多少. 二分答案,尤其注意精度问题.我觉 ...
- CodeForces 705B Spider Man (水题)
题意:给定 n 个数,表示不同的环,然后把环拆成全是1,每次只能拆成两个,问你有多少次. 析:也不难,反正都要变成1,所以把所有的数都减1,再求和即可. 代码如下: #pragma comment(l ...
- 使用 DllImport 属性
本主题说明 DllImport 属性的常见用法.第一节讨论使用 DllImport 从托管应用程序调用本机代码的优点.第二节集中讨论封送处理和 DllImport 属性的各个方面. 从托管应用程序调用 ...
- Windows xp下IDT Hook和GDT的学习
一.前言 对于IDT第一次的认知是int 2e ,在系统调用的时候原来R3进入R0的方式就是通过int 2e自陷进入内核,然后进入KiSystemService函数,在根据系统服务调用号调用系统服 ...
- [PoC]某B2B网站的一个反射型XSS漏洞
Author: Charlie 个人微博:http://YinYongYou.com 转载请注明出处. 工作过程纯粹手贱,测试了一下.然后发现了这么一个东西.有心利用能造成大范围影响.如可以自由修改用 ...
- SSH三大框架整合使用的配置文件 注解实现
1 Struts.xml 使用拦截器 <?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE str ...