- 浏览: 4407432 次
- 性别:
- 来自: 北京
-
文章分类
- 全部博客 (163)
- 职场 && 心情 (22)
- Java/Basic (17)
- Java/Compression (7)
- Java/Security (20)
- Java/Maven (3)
- Java/Cache (11)
- Eclipse (4)
- Spring (19)
- ORM/Hibernate (2)
- ORM/iBatis (3)
- DB/NoSQL (11)
- DB/MySQL (7)
- DB/MS SQL Server (4)
- OS/Linux (11)
- OS/Mac (7)
- C/C++ (4)
- Server Architecture/Basic (13)
- Server Architecture/Distributed (17)
- Moblie/Andriod (2)
- WebService (3)
- Objective-C (1)
- Html (1)
- 设计模式 (1)
- Scala (0)
- Kafka (1)
最新评论
-
w47_csdn:
证书安装:在"浏览"选项中选择" ...
Java加密技术(九)——初探SSL -
w47_csdn:
spiritfrog 写道你好,我按照你的步骤,tomcat中 ...
Java加密技术(九)——初探SSL -
liuyachao111:
11楼说的对 用@ControllerAdvicepublic ...
Spring 注解学习手札(八)补遗——@ExceptionHandler -
irayslu:
作者你好, 我把你的源码放在jdk6, jdk7 中运行正常, ...
Java加密技术(五)——非对称加密算法的由来DH -
夏季浅忆-卖小子:
为什么不能解压rar格式的压缩包呢
Java压缩技术(三) ZIP解压缩——Java原生实现
不曾想,我的博客《Java加密技术》系列会得到广大博友的如此青睐;更不曾想,我居然有机会能与出版社合作,将该博客系列内容整理,并进一步引申,系统而全面地讲解了Java企业级应用安全方面的知识,最终编辑成册,整理成书——《Java加密与解密的艺术》!
这要感谢机械工业出版社华章分社杨福川兄弟的一双慧眼,让我有机会将自己的经验所得与同行们一起分享!
《Java加密与解密的艺术》即将上市,令我喜出望外!
为什么要整理Java加密技术?
Java语言很多人都知道,近年来一直位于计算机编程语言排名榜首,但通过Java进行加密解密,对数据有效保护的事情未必有很多人知道!恰逢08年参与网银平台搭建,Web Service系统构建,我不得不考虑种种安全问题。一研究不要紧,真的有点钻进去拔不出来!
Java在安全方面的相关实现非常成熟,完全出乎我的意料!项目完成之后,我便开始研究密码学在Java中的相关实现。我有一个习惯:每年树立一些技术课题,每年总结自己的技术所得,加密算法正是我08~09年的主要研究课题。在网上泡了几个月之后发现:Java相关加密算法实现是少之又少,实用性也很差!
索性,做第一个吃螃蟹的人——把所有Java支持的加密算法整理到博客中,与大家分享!
整理过程
在博客整理一开始,我仅仅是想对当前Java所支持的算法进行逐一整理。但真正开始写的时候,我确实刹不住了!
由于JavaEye当时的限制,一天只能发表一篇博客文章,我也就一天整理一篇相关算法。当时真有身后一群人追着看期刊的感觉!
这迫使我马不停蹄的继续整理。整理过程中也遇到一些技术难点,相关资料也很奇缺,于是断断续续,最终整理出了十篇《Java加密技术》系列博客!
书稿历时半年
写书与写博客不同。如今,我深刻体会到了!
博客,随性而发,只要把关键点给博友们说明白即可。写书,则要对读者朋友负责,一个技术点的来龙去脉都要介绍清楚,细致到每一行代码,每一个标点。这对于我是一个极大的挑战!
历时半年有余,这让我的精力时常处于完全透支的状态!
这是我2009年最大的精神收获!
本书亮点
中国人喜欢追根溯源,我也不例外。一开始只是对密码学做了一个概括性的整理,真正整理后才发现:密码学的历史竟然有上千年!
作为四大文明古国之一的中国,早在武王伐纣时期就有密码学应用于军事的先例。我国是在军事方面应用密码学较早的国家之一!喜欢研究历史的朋友可以一饱眼福!
当前Java 6涵盖了现代密码学的各个算法分类:消息摘要算法、对称加密算法、非对称加密算法、数字签名算法等。作为一种补充,Apache的Commons Codec提供简便的消息摘要算法实现。而作为一种扩充,对于Java 6尚且不支持的算法提供了相应的解决办法,Bouncy Castle提供相关实现,使得在基于Java语言的开发平台下顺利获得MD4、IDEA、ElGamal、ECDSA等仅有Bouncy Castle才支持的、并且是常用的加密算法支持!
对于上述这些内容,可能Java安全方面相关的朋友都比较了解,但却很少有书能够对其内容做逐一介绍。
也许加密算法算不上什么,脱离了实际应用,尚且仅仅是一种理论!
但当我使用数字证书构建SSL/TLS协议,搭建HTTPS平台的时候,就变成了一种无形的武器!
通过KeyTool、OpenSSL构建数字证书,配置Tomcat实现单向认证和双向认证,这一切对于你将不再陌生。
如何校验文件的一致性?如何将数据隐藏?如何保护你的交互数据?如何避免Web Service被不信任方使用?如何保护你的企业应用?这一系列问题的答案,尽在本书当中,敬请关注!
目录赏析
《JAVA加密与解密的艺术》目录
前言
为什么要写这本书
本书面向的读者
如何阅读本书
致谢
第一部分 基础篇
第1章 企业应用安全
1.1 我们身边的安全问题
1.2 拿什么来拯救你,我的应用
1.2.1安全技术目标
1.2.2 OSI安全体系结构
1.2.3 TCP/IP安全体系结构
1.3 捍卫企业应用安全的银弹
1.3.1 密码学在安全领域中的身影
1.3.2 密码学与Java EE
1.4 为你的企业应用上把锁
1.5 小结
第2章 企业应用安全的银弹——密码学
2.1密码学的发家史
2.1.1 手工加密阶段
2.1.2 机械加密阶段
1. 第一次世界大战
2. 第二次世界大战
2.1.3 计算机加密阶段
2.2 密码学定义、术语及其分类
2.2.1 密码学常用术语
2.2.2 密码学分类
1. 按时间划分
2. 按保密内容的算法划分
3. 按密码体制划分
4. 按明文的处理方法划分
2.3 保密通信模型
2.4 古典密码
2.5 对称密码体制
2.5.1 流密码
1. 同步流密码
2. 自同步流密码
2.5.2 分组密码
1. 分组密码设计原则
2. 分组密码工作模式
2.6 非对称密码体制
2.7 散列函数
2.8 数字签名
2.9 密码学的未来
2.9.1 密码算法的破解
2.9.2 密码学的明天
2.10 小结
第3章 Java加密利器
3.1 Java与密码学
3.1.1 Java安全领域组成部分
3.1.2 关于出口限制
3.1.3 本书所使用的软件
1. 关于Java软件包
2. 关于Java开发工具Eclipse 软件包
3. 关于测试工具JUnit软件包
4. 关于第三方开源组件包
5. 关于网络监听工具WireShark
3.1.4 关于本章内容
3.2 java.security包详解
3.2.1 Provider
3.2.2 Security
3.2.3 MessageDigest
3.2.4 DigestInputStream
3.2.5 DigestOutputStream
3.2.6 Key
1. SecretKey
2. PublicKey和PrivateKey
3.2.7 AlgorithmParameters
3.2.8 AlgorithmParameterGenerator
3.2.9 KeyPair
3.2.10 KeyPairGenerator
3.2.11 KeyFactory
3.2.12 SecureRandom
3.2.13 Signature
3.2.14 SignedObject
3.2.15 Timestamp
3.2.16 CodeSigner
3.2.17 KeyStore
3.3 javax.crypto包详解
3.3.1 Mac
3.3.2 KeyGenerator
3.3.3 KeyAgreement
3.3.4 SecretKeyFactory
3.3.5 Cipher
3.3.6 CipherInputStream
3.3.7 CipherOutputStream
3.3.8 SealedObject
3.4 java.security.spec包和javax.crypto.spec包详解
3.4.1 KeySpec和AlgorithmParameterSpec
1. KeySpec
2. AlgorithmParameterSpec
3.4.2 EncodedKeySpec
1. X509EncodedKeySpec
2. PKCS8EncodedKeySpec
3.4.3 SecretKeySpec
3.4.4 DESKeySpec
3.5 java.security.cert包详解
3.5.1 Certificate
3.5.2 CertificateFactory
3.5.3 X509Certificate
3.5.4 CRL
3.5.5 X509CRLEntry
3.5.6 X509CRL
3.5.7 CertPath
3.6 javax.net.ssl包详解
3.6.1 KeyManagerFactory
3.6.2 TrustManagerFactory
3.6.3 SSLContext
3.6.4 HttpsURLConnection
3.7小结
第4章 他山之石可以攻玉
4.1 加固你的系统
4.1.1 获得权限文件
4.1.2 配置权限文件
4.1.3 验证配置
4.2 加密组件Bouncy Castle
4.2.1 获得加密组件
4.2.2 扩充算法支持
1. 配置方式
2. 调用方式
3. 两种方式对比
4.2.3 相关API
1. Base64
2. UrlBase64
3. Hex
4.3 辅助工具Commons Codec
4.3.1 获得辅助工具
4.3.2 相关API
1. Base64
2. Base64InputStream
3. Base64OutputStream
4. Hex
5. DigestUtils
4.4 小结
第二部分 实践篇
第5章 电子邮件传输算法——Base64
5.1 Base64算法的由来
5.2 Base64算法的定义
5.3 Base64算法与加密算法的关系
5.4 实现原理
5.4.1 ASCII码字符编码
5.4.2非ASCII码字符编码
5.5 模型分析
5.6 Base64算法实现
5.6.1 Bouncy Castle
5.6.2 Commons Codec
5.6.3 两种实现方式差异
5.6.4 不得不说的问题
1. Base64算法的非标准实现
2. 非标准实现的问题
5.7 Url Base64算法实现
5.7.1 Bouncy Castle
5.7.2 Commons Codec
5.7.3 两种实现方式差异
5.8应用举例
5.8.1 电子邮件传输
5.8.2 网络数据传输
5.8.3 密钥存储
5.8.4 数字证书存储
5.9 小结
第6章 验证数据完整性——消息摘要算法
6.1 消息摘要算法简述
6.1.1 消息摘要算法的由来
6.1.2 消息摘要算法的家谱
6.2 MD算法家族
6.2.1 简述
6.2.3 模型分析
6.2.3 实现
1. Sun
2. Bouncy Castle
3. Commons Codec
4. 三种实现方式的差异
6.3 SHA算法家族
6.3.1简述
6.3.2 模型分析
6.3.3 实现
1. Sun
2. Bouncy Castle
3. Commons Codec
4. 三种实现方式的差异
6.4 MAC算法家族
6.4.1简述
6.4.2 模型分析
6.4.3 实现
1. Sun
2. Bouncy Castle
3. 两种实现方式的差异
6.5 其它消息摘要算法
6.5.1 简述
6.5.1 实现
1. RipeMD系列算法
2. HmacRipeMD系列算法
6.6 循环冗余校验算法——CRC算法
6.6.1简述
6.6.2 模型分析
6.6.3 实现
6.7 实例:文件校验
6.9 小结
第7章 初等数据加密——对称加密算法
7.1对称加密算法简述
7.1.1 对称加密算法的由来
7.1.2 对称加密算法的家谱
7.2 数据加密标准——DES
7.2.1 简述
7.2.2 模型分析
7.2.3 实现
7.3 三重DES——DESede
7.3.1 简述
7.3.2 实现
7.4 高级数据加密标准——AES
7.4.1 简述
7.4.2 实现
7.5 国际数据加密标准——IDEA
7.5.1 简述
7.5.2 实现
7.6 基于口令加密——PBE
7.6.1 简述
7.6.2 模型分析
7.6.3 实现
7.7 实例:对称加密网络应用
7.8小结
第8章 高等数据加密——非对称加密算法
8.1 非对称加密算法简述
8.1.1 非对称加密算法的由来
8.1.2 非对称加密算法的家谱
8.2密钥交换算法——DH
8.2.1 简述
8.2.2 模型分析
8.2.3 实现
8.3 典型非对称加密算法——RSA
8.3.1 简述
8.3.2 模型分析
8.3.3 实现
8.4常用非对称加密算法——ElGamal
8.4.1 简述
8.4.2 模型分析
8.4.3 实现
8.5 实例:非对称加密网络应用
8.6 小结
第9章 带密钥的消息摘要算法——数字签名算法
9.1 数字签名算法简述
9.1.1数字签名算法的由来
9.1.2数字签名算法的家谱
9.2 模型分析
9.3 经典数字签名算法——RSA
9.3.1 简述
9.3.2 实现
9.4 数字签名标准算法——DSA
9.4.1 简述
9.4.2实现
9.5 椭圆曲线数字签名算法——ECDSA
9.5.1 简述
9.5.2实现
9.6 实例:带有数字签名的加密网络应用
9.7 小结
第三部分 综合应用篇
第10章 终极武器——数字证书
10.1 数字证书详解
10.2 模型分析
10.2.1证书签发
10.2.2加密交互
10.3 证书管理
10.3.1 Keytool证书管理
1. 构建自签名证书
2. 构建CA签发证书
10.3.2 OpenSSL证书管理
1. 准备工作
2. 构建根证书
3. 构建服务器证书
4. 构建客户证书
10.4 证书使用
10.5 应用举例
10.6 小结
第11章 终极装备——安全协议
11.1 安全协议简述
11.1.1 HTTPS协议
11.1.2 SSL/TLS协议
11.2 模型分析
11.2.1 协商算法
11.2.2 验证证书
11.2.3 产生密钥
11.2.4 加密交互
11.3单向认证服务
11.3.1 准备工作
1. 域名绑定
2. 证书导入
3. 服务器配置
11.3.2 服务验证
11.3.3 代码验证
11.4 双向认证服务
11.4.1 准备工作
1. 证书导入
2. 服务器配置
11.4.2 服务验证
11.4.3 代码验证
11.5 应用举例
11.6小结
第12章 量体裁衣——为应用选择合适的装备
12.1 实例:常规Web应用开发安全
12.1.1 常规Web应用基本实现
1. 准备工作
2. 构建数据库
3. 构建应用
4. 验证服务
12.1.2 安全升级1——摘要处理
1. 修改用户数据
2. 修改校验模块
12.1.2 安全升级2——加盐处理
1. 修改用户数据
2. 修改校验模块
12.2 实例:IM应用开发安全
12.2.1 IM应用基本实现
1. 构建应用
2. 验证服务
3. 网络检测
12.2.2 安全升级1——隐藏数据
1. 增强安全性
2. 网络检测
12.2.3 安全升级2——加密数据
1. 增强安全性
2. 网络检测
12.3 实例:Web Service应用开发安全
12.3.1 Web Service应用基本实现
1. 准备工作
2. 验证服务
3. 网络监测
12.3.2 安全升级1——单向认证服务
1. 构建证书
2. 配置Tomcat
3. 验证服务
4. 网络监测
12.3.3 安全升级2——双向认证服务
1. 构建证书
2. 配置Tomcat
3. 验证服务
4. 网络监测
12.4 小结
附录
附录A Java 6支持的算法
附录B Bouncy Castle支持的算法
目前,《Java加密与解密的艺术》已经完稿,很快就能与博友们见面了!
高手!
老哥,就是我,哈哈。
呵呵 大家都会变成老相识~~
老哥,就是我,哈哈。
已经放出来了!


为什么要整理Java加密技术?
Java语言很多人都知道,近年来一直位于计算机编程语言排名榜首,但通过Java进行加密解密,对数据有效保护的事情未必有很多人知道!恰逢08年参与网银平台搭建,Web Service系统构建,我不得不考虑种种安全问题。一研究不要紧,真的有点钻进去拔不出来!



整理过程
在博客整理一开始,我仅仅是想对当前Java所支持的算法进行逐一整理。但真正开始写的时候,我确实刹不住了!



书稿历时半年
写书与写博客不同。如今,我深刻体会到了!




本书亮点
中国人喜欢追根溯源,我也不例外。一开始只是对密码学做了一个概括性的整理,真正整理后才发现:密码学的历史竟然有上千年!


当前Java 6涵盖了现代密码学的各个算法分类:消息摘要算法、对称加密算法、非对称加密算法、数字签名算法等。作为一种补充,Apache的Commons Codec提供简便的消息摘要算法实现。而作为一种扩充,对于Java 6尚且不支持的算法提供了相应的解决办法,Bouncy Castle提供相关实现,使得在基于Java语言的开发平台下顺利获得MD4、IDEA、ElGamal、ECDSA等仅有Bouncy Castle才支持的、并且是常用的加密算法支持!

也许加密算法算不上什么,脱离了实际应用,尚且仅仅是一种理论!


如何校验文件的一致性?如何将数据隐藏?如何保护你的交互数据?如何避免Web Service被不信任方使用?如何保护你的企业应用?这一系列问题的答案,尽在本书当中,敬请关注!

目录赏析
引用
《JAVA加密与解密的艺术》目录
前言
为什么要写这本书
本书面向的读者
如何阅读本书
致谢
第一部分 基础篇
第1章 企业应用安全
1.1 我们身边的安全问题
1.2 拿什么来拯救你,我的应用
1.2.1安全技术目标
1.2.2 OSI安全体系结构
1.2.3 TCP/IP安全体系结构
1.3 捍卫企业应用安全的银弹
1.3.1 密码学在安全领域中的身影
1.3.2 密码学与Java EE
1.4 为你的企业应用上把锁
1.5 小结
第2章 企业应用安全的银弹——密码学
2.1密码学的发家史
2.1.1 手工加密阶段
2.1.2 机械加密阶段
1. 第一次世界大战
2. 第二次世界大战
2.1.3 计算机加密阶段
2.2 密码学定义、术语及其分类
2.2.1 密码学常用术语
2.2.2 密码学分类
1. 按时间划分
2. 按保密内容的算法划分
3. 按密码体制划分
4. 按明文的处理方法划分
2.3 保密通信模型
2.4 古典密码
2.5 对称密码体制
2.5.1 流密码
1. 同步流密码
2. 自同步流密码
2.5.2 分组密码
1. 分组密码设计原则
2. 分组密码工作模式
2.6 非对称密码体制
2.7 散列函数
2.8 数字签名
2.9 密码学的未来
2.9.1 密码算法的破解
2.9.2 密码学的明天
2.10 小结
第3章 Java加密利器
3.1 Java与密码学
3.1.1 Java安全领域组成部分
3.1.2 关于出口限制
3.1.3 本书所使用的软件
1. 关于Java软件包
2. 关于Java开发工具Eclipse 软件包
3. 关于测试工具JUnit软件包
4. 关于第三方开源组件包
5. 关于网络监听工具WireShark
3.1.4 关于本章内容
3.2 java.security包详解
3.2.1 Provider
3.2.2 Security
3.2.3 MessageDigest
3.2.4 DigestInputStream
3.2.5 DigestOutputStream
3.2.6 Key
1. SecretKey
2. PublicKey和PrivateKey
3.2.7 AlgorithmParameters
3.2.8 AlgorithmParameterGenerator
3.2.9 KeyPair
3.2.10 KeyPairGenerator
3.2.11 KeyFactory
3.2.12 SecureRandom
3.2.13 Signature
3.2.14 SignedObject
3.2.15 Timestamp
3.2.16 CodeSigner
3.2.17 KeyStore
3.3 javax.crypto包详解
3.3.1 Mac
3.3.2 KeyGenerator
3.3.3 KeyAgreement
3.3.4 SecretKeyFactory
3.3.5 Cipher
3.3.6 CipherInputStream
3.3.7 CipherOutputStream
3.3.8 SealedObject
3.4 java.security.spec包和javax.crypto.spec包详解
3.4.1 KeySpec和AlgorithmParameterSpec
1. KeySpec
2. AlgorithmParameterSpec
3.4.2 EncodedKeySpec
1. X509EncodedKeySpec
2. PKCS8EncodedKeySpec
3.4.3 SecretKeySpec
3.4.4 DESKeySpec
3.5 java.security.cert包详解
3.5.1 Certificate
3.5.2 CertificateFactory
3.5.3 X509Certificate
3.5.4 CRL
3.5.5 X509CRLEntry
3.5.6 X509CRL
3.5.7 CertPath
3.6 javax.net.ssl包详解
3.6.1 KeyManagerFactory
3.6.2 TrustManagerFactory
3.6.3 SSLContext
3.6.4 HttpsURLConnection
3.7小结
第4章 他山之石可以攻玉
4.1 加固你的系统
4.1.1 获得权限文件
4.1.2 配置权限文件
4.1.3 验证配置
4.2 加密组件Bouncy Castle
4.2.1 获得加密组件
4.2.2 扩充算法支持
1. 配置方式
2. 调用方式
3. 两种方式对比
4.2.3 相关API
1. Base64
2. UrlBase64
3. Hex
4.3 辅助工具Commons Codec
4.3.1 获得辅助工具
4.3.2 相关API
1. Base64
2. Base64InputStream
3. Base64OutputStream
4. Hex
5. DigestUtils
4.4 小结
第二部分 实践篇
第5章 电子邮件传输算法——Base64
5.1 Base64算法的由来
5.2 Base64算法的定义
5.3 Base64算法与加密算法的关系
5.4 实现原理
5.4.1 ASCII码字符编码
5.4.2非ASCII码字符编码
5.5 模型分析
5.6 Base64算法实现
5.6.1 Bouncy Castle
5.6.2 Commons Codec
5.6.3 两种实现方式差异
5.6.4 不得不说的问题
1. Base64算法的非标准实现
2. 非标准实现的问题
5.7 Url Base64算法实现
5.7.1 Bouncy Castle
5.7.2 Commons Codec
5.7.3 两种实现方式差异
5.8应用举例
5.8.1 电子邮件传输
5.8.2 网络数据传输
5.8.3 密钥存储
5.8.4 数字证书存储
5.9 小结
第6章 验证数据完整性——消息摘要算法
6.1 消息摘要算法简述
6.1.1 消息摘要算法的由来
6.1.2 消息摘要算法的家谱
6.2 MD算法家族
6.2.1 简述
6.2.3 模型分析
6.2.3 实现
1. Sun
2. Bouncy Castle
3. Commons Codec
4. 三种实现方式的差异
6.3 SHA算法家族
6.3.1简述
6.3.2 模型分析
6.3.3 实现
1. Sun
2. Bouncy Castle
3. Commons Codec
4. 三种实现方式的差异
6.4 MAC算法家族
6.4.1简述
6.4.2 模型分析
6.4.3 实现
1. Sun
2. Bouncy Castle
3. 两种实现方式的差异
6.5 其它消息摘要算法
6.5.1 简述
6.5.1 实现
1. RipeMD系列算法
2. HmacRipeMD系列算法
6.6 循环冗余校验算法——CRC算法
6.6.1简述
6.6.2 模型分析
6.6.3 实现
6.7 实例:文件校验
6.9 小结
第7章 初等数据加密——对称加密算法
7.1对称加密算法简述
7.1.1 对称加密算法的由来
7.1.2 对称加密算法的家谱
7.2 数据加密标准——DES
7.2.1 简述
7.2.2 模型分析
7.2.3 实现
7.3 三重DES——DESede
7.3.1 简述
7.3.2 实现
7.4 高级数据加密标准——AES
7.4.1 简述
7.4.2 实现
7.5 国际数据加密标准——IDEA
7.5.1 简述
7.5.2 实现
7.6 基于口令加密——PBE
7.6.1 简述
7.6.2 模型分析
7.6.3 实现
7.7 实例:对称加密网络应用
7.8小结
第8章 高等数据加密——非对称加密算法
8.1 非对称加密算法简述
8.1.1 非对称加密算法的由来
8.1.2 非对称加密算法的家谱
8.2密钥交换算法——DH
8.2.1 简述
8.2.2 模型分析
8.2.3 实现
8.3 典型非对称加密算法——RSA
8.3.1 简述
8.3.2 模型分析
8.3.3 实现
8.4常用非对称加密算法——ElGamal
8.4.1 简述
8.4.2 模型分析
8.4.3 实现
8.5 实例:非对称加密网络应用
8.6 小结
第9章 带密钥的消息摘要算法——数字签名算法
9.1 数字签名算法简述
9.1.1数字签名算法的由来
9.1.2数字签名算法的家谱
9.2 模型分析
9.3 经典数字签名算法——RSA
9.3.1 简述
9.3.2 实现
9.4 数字签名标准算法——DSA
9.4.1 简述
9.4.2实现
9.5 椭圆曲线数字签名算法——ECDSA
9.5.1 简述
9.5.2实现
9.6 实例:带有数字签名的加密网络应用
9.7 小结
第三部分 综合应用篇
第10章 终极武器——数字证书
10.1 数字证书详解
10.2 模型分析
10.2.1证书签发
10.2.2加密交互
10.3 证书管理
10.3.1 Keytool证书管理
1. 构建自签名证书
2. 构建CA签发证书
10.3.2 OpenSSL证书管理
1. 准备工作
2. 构建根证书
3. 构建服务器证书
4. 构建客户证书
10.4 证书使用
10.5 应用举例
10.6 小结
第11章 终极装备——安全协议
11.1 安全协议简述
11.1.1 HTTPS协议
11.1.2 SSL/TLS协议
11.2 模型分析
11.2.1 协商算法
11.2.2 验证证书
11.2.3 产生密钥
11.2.4 加密交互
11.3单向认证服务
11.3.1 准备工作
1. 域名绑定
2. 证书导入
3. 服务器配置
11.3.2 服务验证
11.3.3 代码验证
11.4 双向认证服务
11.4.1 准备工作
1. 证书导入
2. 服务器配置
11.4.2 服务验证
11.4.3 代码验证
11.5 应用举例
11.6小结
第12章 量体裁衣——为应用选择合适的装备
12.1 实例:常规Web应用开发安全
12.1.1 常规Web应用基本实现
1. 准备工作
2. 构建数据库
3. 构建应用
4. 验证服务
12.1.2 安全升级1——摘要处理
1. 修改用户数据
2. 修改校验模块
12.1.2 安全升级2——加盐处理
1. 修改用户数据
2. 修改校验模块
12.2 实例:IM应用开发安全
12.2.1 IM应用基本实现
1. 构建应用
2. 验证服务
3. 网络检测
12.2.2 安全升级1——隐藏数据
1. 增强安全性
2. 网络检测
12.2.3 安全升级2——加密数据
1. 增强安全性
2. 网络检测
12.3 实例:Web Service应用开发安全
12.3.1 Web Service应用基本实现
1. 准备工作
2. 验证服务
3. 网络监测
12.3.2 安全升级1——单向认证服务
1. 构建证书
2. 配置Tomcat
3. 验证服务
4. 网络监测
12.3.3 安全升级2——双向认证服务
1. 构建证书
2. 配置Tomcat
3. 验证服务
4. 网络监测
12.4 小结
附录
附录A Java 6支持的算法
附录B Bouncy Castle支持的算法
目前,《Java加密与解密的艺术》已经完稿,很快就能与博友们见面了!

评论
29 楼
linux1689
2010-11-21
因为作者是这方面的专家,而且写作非常用心,所以它上市后得到了广大读者朋友的一致认可,销量非常不错,本书上个月已经重印了,谢谢大家的支持。
28 楼
xgj1988
2010-07-10
楼主强悍。。今天去书城看到了此书。。呵呵。。不错。。继续加油。。
27 楼
violetluna
2010-03-06
snowwolf,几年不见,长进不少啊。真想和你一样放弃一些东西去做自己喜欢的事情。
最后,你的书我一定拜读。
最后,你的书我一定拜读。

26 楼
linux1689
2010-03-05
进度公布:
正文已经完成一次编辑和校对,目前正在进行第二次校对。
封面文案初稿已经有了,正在修改。
谢谢大家对本书大的关注,我们会随时汇报进度的。
正文已经完成一次编辑和校对,目前正在进行第二次校对。
封面文案初稿已经有了,正在修改。
谢谢大家对本书大的关注,我们会随时汇报进度的。
25 楼
ylRoot
2010-03-03
再次顶你,快快.
24 楼
ylRoot
2010-03-03
希望快点出来,我在学习中.
23 楼
hydrogen2008
2010-03-03
真是好东西,lz书出来了一定要第一时间给个购买地址。
能预购吗?
能预购吗?
22 楼
linux1689
2010-03-02
封面正在设计中,请大家静静等候!
21 楼
21gramslove
2010-03-02
加油,支持
20 楼
sodabao
2010-03-02
期待中,最好有电子版的
19 楼
baiyejianxin
2010-03-02

18 楼
snowolf
2010-03-02
linux1689 写道
黑暗浪子 写道
呵呵,巧了,你也认识小杨啊~
老哥,就是我,哈哈。
呵呵 大家都会变成老相识~~

17 楼
linux1689
2010-03-02
黑暗浪子 写道
呵呵,巧了,你也认识小杨啊~
老哥,就是我,哈哈。
16 楼
黑暗浪子
2010-03-02
呵呵,巧了,你也认识小杨啊~
15 楼
snowolf
2010-03-02
hcqenjoy 写道
请问能透漏下书的内容目录吗
已经放出来了!

14 楼
wxq594808632
2010-03-02
恭喜了.博客我看过.确实不错
13 楼
hcqenjoy
2010-03-02
请问能透漏下书的内容目录吗
12 楼
zzzlyr
2010-03-02
LZ不错,我也正想着看一看这方面的东西呢!正愁着没有资料呢!期待中
11 楼
qq443507232
2010-03-01
我要第一个看到你的书出版 并且第一个研究 HOHO 栋哥好样的 我们未来的技术总总监
10 楼
nelapsi
2010-03-01
密码学是很神奇的学科,安全是企业对内\对外必须考虑的重要问题。联想谷歌事件,呵呵
。期待从书中深入了解各种算法细节及最佳使用场景..

发表评论
-
SSLSocket获取数字证书
2013-06-05 17:53 0SSLSocket直接获得数字证书 package ... -
Java加密技术(十三)——由PEM文件获取密钥
2012-07-20 17:57 0密钥库文件通常是PEM格式,这一般是由OpenSSL生成。与J ... -
《Java加密与解密的艺术》重印,销往台湾!
2010-12-03 09:34 4798感谢大家对于《Java加密与解密的艺术》一直依赖的关注! ... -
Java加密技术(十二)——*.PFX(*.p12)&个人信息交换文件
2010-08-12 11:17 38418今天来点实际工作中的硬通货! 与计费系统打交道,少不了用到加密 ... -
Jasig CAS使用手札——一、了解Jasig CAS,简单运行!
2010-08-10 17:13 31493SSO : 单点登录(Single S ... -
《Java加密与解密的艺术》——配书源代码提供下载
2010-08-04 17:37 9816《Java加密与解密的艺术》上市小半年了,有不少朋友通过Jav ... -
Security证书相关文件格式汇总及其格式转换工具介绍
2010-06-10 17:58 0前段时间利用数字证书对几种语言(Java、.Net、Php) ... -
PKI常见证书格式和转换
2010-06-10 17:11 0PKCS 全称是 Public-Key Cryptograph ... -
《Java加密与解密的艺术》——迷你版提供下载
2010-06-03 23:57 8485《Java加密与解密的艺术》上市已2个月,有很多博友向我索要《 ... -
pkf<---->jks
2010-06-02 18:00 0/** * 从PKCS12格式转换为JKS格式 ... -
keytool建立双向认证
2010-06-02 15:18 0echo off echo 构建目录 mkdir ... -
关于Java企业级应用开发中的安全知识的探讨
2010-05-04 13:33 4105相信绝大多数做Java的朋友或多或少都会接触到Java安全技术 ... -
我与《Java加密与解密的艺术》——从写博客到写书
2010-04-29 16:07 8814时间飞快,《Java加密与解密的艺术》上市快有一个月了,虽然具 ... -
配置PKCS#11
2010-04-21 18:24 0配置PKCS#11(初学者) [ ... -
《Java加密与解密的艺术》本周上市,样书免费送!
2010-03-31 16:04 5036“千呼万唤使出来”——《Java加密与解密的艺术》终于要在本周 ... -
《Java加密与解密的艺术》封面已定,即将上市!
2010-03-15 22:15 6201经过一周多的反复审核,《Java加密与解密的艺术》封面终于敲定 ... -
Java加密技术(十一)——双向认证
2009-11-05 23:06 42288对于双向认证,做一个简单的描述。 服务器端下发证书,客户端接受 ... -
OSI安全体系结构
2009-06-10 18:41 5804最近研究安全技术,终 ... -
Java加密技术(十)——单向认证
2009-05-29 17:52 27698在Java 加密技术(九)中,我们使用自签名证书完成了 ... -
Java加密技术(九)——初探SSL
2009-05-28 09:25 53076在Java加密技术(八)中,我们模拟了一个基于RSA非 ...
相关推荐
java加密和解密的方法,利用指定的密钥,可逆的。密钥必须16位。
本次使用JAVA语言,采用3DES加密算法进行对文本文件的加密,通过二进制和十六进制的转换来实现,产生加密文件,再对加密文件进行解密。 关键词:DES加密算法、加密、解密。摘要 随着现代网络技术的飞速发展,人们...
2. **非对称加密**:与对称加密不同,非对称加密使用一对公钥和私钥,公钥用于加密,私钥用于解密。这种加密方式更安全,但计算复杂度较高。RSA、ECC(Elliptic Curve Cryptography)是常见的非对称加密算法,JCT...
Java加密解密工具是开发过程中不可或缺的部分,尤其是在处理敏感数据时,确保数据的安全性至关重要。在Java中,我们可以使用各种库和内置API来实现加密和解密操作。本篇文章将深入探讨Java加密解密的核心概念、常用...
Java 实现文件的加密与解密是指利用 Java 语言将资源文件(包括图片、动画等类型)进行简单的加密和解密。这种策略的原因和好处是将准备好的资源存储在云上,使用时通过网络进行读取即可,减少了应用程序本身的大小...
"C# RSA加密与JAVA解密,实现相互通信"的主题聚焦于如何利用RSA公钥/私钥加密算法在C#和Java两个不同的编程环境中实现安全的数据交换。RSA是一种非对称加密算法,它使用一对密钥——公钥和私钥,公钥用于加密,私钥...
在Java编程环境中,处理文件的压缩与解压缩是常见的任务,而涉及到安全性,加密和解密就显得尤为重要。本文将详细讲解如何使用Java实现ZIP压缩包的加密与解密。 首先,我们需要理解加密的基本概念。加密是将明文...
Java实现的RSA加密解密算法示例 本文主要介绍了Java实现的RSA加密解密算法,结合实例形式分析了Java RSA加密解密算法的相关实现技巧。 知识点1:RSA加密解密算法简介 RSA加密解密算法是一种非对称加密算法,由Ron...
在Java编程语言中,实现加密和解密是安全领域中的重要任务,主要用于保护数据的隐私性和完整性。本文将深入探讨如何使用Java进行加密和解密操作,主要关注以下几个方面: 1. **加密算法理解** - **对称加密**:如...
在Java编程语言中,公钥和私钥加密解密是一种重要的安全技术,广泛应用于网络通信、数据传输等领域。本文将详细解析如何使用Java实现公钥和私钥的加解密操作,以及相关的关键概念和代码示例。 首先,我们要了解公钥...
JAVA也是通过包来实现加密和解密的,那么我的C++是通过OPENSSL的库来实现的。 重点来到了:RSA使用过程 1、C++随机生成一对公钥和私钥 2、JAVA用公钥给明文打包形成密文 3、C++用私钥解密密文
9. **测试与调试**:编写单元测试以验证加密和解密功能是否正确,同时利用Java的调试工具进行问题定位。 在实际开发过程中,你需要结合上述知识点,编写代码来实现文本的读取、加密、写入、读取解密文件并显示结果...
主要是利用Java自带的方法进行加密和解密
排列码是一种在信息安全领域常用的编码方式,主要用于数据的加密与解密。它的基本思想是将原始数据通过特定的算法进行编码,使得数据在传输或存储过程中不易被破解,增加了数据的安全性。在Java中实现排列码,我们...
总之,“javascript加密java解密”的主题涉及了前端与后端的安全通信策略,通过JavaScript对数据进行加密,然后在Java环境中进行解密,以保障数据在传输过程中的安全。实际操作中,开发者需要根据具体需求选择合适的...
java 安卓 同步加密解密,使用私钥加密 解密。增加数据传输安全度
一段java语言加密和解密的代码
"加密和解密文件"的主题涉及到信息安全的核心技术,它确保了数据在未经授权的情况下无法被访问或理解。这里的描述提到这是一个带有图形用户界面(GUI)的工具,这使得用户能够更加直观和便捷地操作加密和解密过程,...
在Java中实现AES(Advanced Encryption Standard)加密和解密算法主要涉及到对称密钥加密技术。AES算法是一种块密码,采用固定大小的128位(16字节)块进行加密和解密,支持128、192和256位的密钥长度。在给定的代码...