`

《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平台的时候,就变成了一种无形的武器! 通过KeyToolOpenSSL构建数字证书,配置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加密与解密的艺术》已经完稿,很快就能与博友们见面了!
  • 大小: 203.5 KB
47
4
分享到:
评论
9 楼 yuantong 2010-03-01  
等着收版税吧!
8 楼 javaz 2010-03-01  
支持支持。。
7 楼 linux1689 2010-03-01  
这本书适合所有Java开发者阅读,尤其是从事企业级应用开发的读者,因为对任何一个企业级应用而言,安全都是第一位的。
6 楼 sidus 2010-03-01  
栋栋加油~
5 楼 haojie 2010-03-01  
厚厚,顶你
4 楼 冒烟鱼 2010-03-01  
可以嘛小伙子,加油!
3 楼 iknow 2010-03-01  
期待啊,望眼欲穿
2 楼 masterzs 2010-03-01  
期待中。。。。。。
1 楼 djandeclipse 2010-03-01  
栋栋好样的.

相关推荐

    JAVA加密和解密的艺术(第二版).zip

    《JAVA加密和解密的艺术(第二版)》是一本深入探讨Java平台上的加密与解密技术的专业书籍。这本书不仅提供了理论知识,还包含了丰富的实践示例,帮助读者理解和掌握加密技术在实际应用中的运用。其内容涵盖了从基本...

    JAVA加密与解密的艺术 第2版 pdf part2

    《Java加密与解密的艺术(第2版)》由梁栋著,以Java中的加密API和加密算法为切入点,全面介绍了Java SE 7的特性,及其中与安全相关的各种API,详细讲解了各种流行的加密算法及其在实际中的应用,为Java开发工程师和...

    Java加密与解密的艺术.pdf

    Java加密与解密的艺术Java加密与解密的艺术Java加密与解密的艺术

    Java加密与解密的艺术.mobi

    《Java加密与解密的艺术》,它的应用遍及企业级应用的各个领域,安全是所有企业级应用中最突出、最重要的问题。然而这些问题从来都不是一种武器就能解决的。消息摘要算法用于数据校验、对称加密算法用于数据加密、非...

    JAVA加密与解密的艺术 第2版 pdf part1

    《Java加密与解密的艺术(第2版)》由梁栋著,以Java中的加密API和加密算法为切入点,全面介绍了Java SE 7的特性,及其中与安全相关的各种API,详细讲解了各种流行的加密算法及其在实际中的应用,为Java开发工程师和...

    JAVA加密与解密的艺术--第2版.rar

    本书是Java安全领域的百科全书,密码学领域的权威经典,4大社区一致鼎力...综合应用篇既细致地讲解了加密技术对数字证书和SSL/TLS协议的应用,又以示例的方式讲解了加密与解密技术在网络中的实际应用,极具实践指导性。

    Java加密与解密的艺术

    , 全书包含3个部分,基础篇对Java企业级应用的安全知识、密码学核心知识、与Java加密相关的API和通过权限文件加强系统安全方面的知识进行了全面的介绍;实践篇不仅对电子邮件传输算法、消息摘要算法、对称加密算法、...

    Java加密与解密的艺术 第二版(清晰+书签+完整版).pdf

    Java加密与解密的艺术 第二版(清晰+书签+完整版).pdf真正第二版,《Java加密与解密的艺术(第2版)》是Java安全领域公认的标杆之作,被奉为每一位Java开发工程师必读的著作之一。由资深专家撰写,第1版4年来畅销不...

    JAVA加密与解密的艺术 第2版 带标签

    JAVA加密与解密的艺术 第2版 带标签 如果配合图解加密算法这本书看效果更好。

    Java加密与解密的艺术配书源代码源码整理

    "Java加密与解密的艺术"这本书深入探讨了这一主题,其配书源代码是理解这些概念和实践应用的宝贵资源。 1. **对称加密**:这是最基础的加密方式,使用同一密钥进行加密和解密。Java中的`javax.crypto`包提供了此类...

    JAVA加密与解密的艺术(第2版)

    JAVA加密与解密的艺术(第2版),保证是第二版,只需要较低的积分。

    Java加密与解密的艺术PDF和源码

    "Java加密与解密的艺术"是一本深入探讨这个主题的专业书籍,它提供了详细的理论知识和实际操作示例,帮助开发者掌握如何在Java环境中实现安全的数据加密和解密。这本书的PDF版本和源码一起提供,为读者提供了更直观...

    Java加密与解密的艺术含源码高清非扫描

    通过对《Java加密与解密的艺术》的学习,开发者不仅可以掌握Java中的加密解密技术,还能了解到如何在实际项目中应用这些技术,保护用户数据的安全,满足合规性要求,如欧盟的GDPR(通用数据保护条例)等。...

    Java加密与解密的艺术配书源代码

    全书包含3个部分,基础篇对Java企业级应用的安全知识、密码学核心知识、与Java加密相关的API和通过权限文件加强系统安全方面的知识进行了全面的介绍;实践篇不仅对电子邮件传输算法、消息摘要算法、对称加密算法、...

    java加密与解密的艺术全包括源码.rar

    本资源“java加密与解密的艺术全包括源码.rar”提供了全面的Java加密解密技术实现,涵盖了多种算法和应用场景。下面我们将深入探讨其中涉及的一些核心知识点。 1. **对称加密**:对称加密是最常见的加密方式,如DES...

    Java加密与解密的艺术.rar 完整源代码

    通过学习这份"Java加密与解密的艺术"的源代码,你可以深入理解加密过程的实现细节,包括密钥的生成、加密解密流程、异常处理以及如何与其他Java安全组件集成。同时,你可以看到实际项目中如何使用这些概念,从而提升...

    java加密与解密的艺术(mobi kindle)

    关于java的加密与解密,感觉不错,拿出来分享众所周知,Java EE是目前企业应用中使用最广泛的技术之一,几乎在任何一个领域都能看到Java EE的身影。随着加密与解密算法的发展,Java加密与解密技术不断演进,不断提高着...

    Java加密与解密的艺术(第2版)

    《Java加密与解密的艺术(第2版)》是Java安全领域公认的标杆之作,被奉为每一位Java开发工程师必读的著作之一。由资深专家撰写,第1版4年来畅销不衰,繁体版在台湾出版,大陆和台湾的读者都给予了高的评价。第2版...

Global site tag (gtag.js) - Google Analytics