当前位置:首页 > 工业技术
Java加密与解密的艺术
Java加密与解密的艺术

Java加密与解密的艺术PDF电子书下载

工业技术

  • 电子书积分:14 积分如何计算积分?
  • 作 者:梁栋编著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2010
  • ISBN:9787111297628
  • 页数:450 页
图书介绍:本书一共分为4个部分:基础篇对Java企业级应用安全、密码学和Java中与加密相关的API进行了详细介绍;实践篇对现今流行的所有加密算法进行了全面阐述和深入剖析,而且每一种算法都配有相应的示例,除此之外,实践篇还对各种加密算法的适用场景进行了深入分析,从而指导读者如何去选择适合自己的加密算法。综合应用篇不仅细致地介绍了加密技术对数字证书和SSL/TLS协议的应用,而且还以示例的方式讲解了加密解密技术在实际网络中的各种应用,极具实践指导性。通过阅读本书,读者不仅能全面掌握Java加密与解密的各种基础知识,而且还能进一步了解Java加密与解密的高级技术和技巧,从而将这些知识都运用到实际开发中去。
《Java加密与解密的艺术》目录

第一部分 基础篇 2

第1章 企业应用安全 2

1.1 我们身边的安全问题 2

1.2 拿什么来拯救你,我的应用 3

1.2.1 安全技术目标 3

1.2.2 OSI安全体系结构 4

1.2.3 TCP/IP安全体系结构 6

1.3 捍卫企业应用安全的银弹 8

1.3.1 密码学在安全领域中的身影 8

1.3.2 密码学与Java EE 8

1.4 为你的企业应用上把锁 9

1.5 小结 10

第2章 企业应用安全的银弹——密码学 11

2.1 密码学的发家史 11

2.1.1 手工加密阶段 11

2.1.2 机械加密阶段 12

2.1.3 计算机加密阶段 13

2.2 密码学定义、术语及其分类 15

2.2.1 密码学常用术语 15

2.2.2 密码学分类 16

2.3 保密通信模型 17

2.4 古典密码 18

2.5 对称密码体制 19

2.5.1 流密码 20

2.5.2 分组密码 21

2.6 非对称密码体制 26

2.7 散列函数 28

2.8 数字签名 29

2.9 密码学的未来 30

2.9.1 密码算法的破解 31

2.9.2 密码学的明天 31

2.10 小结 32

第3章 Java加密利器 34

3.1 Java与密码学 34

3.1.1 Java安全领域组成部分 34

3.1.2 关于出口的限制 36

3.1.3 本书所使用的软件 36

3.1.4 关于本章内容 37

3.2 java.security包详解 37

3.2.1 Provider 38

3.2.2 Security 41

3.2.3 MessageDigest 43

3.2.4 DigestInputStream 46

3.2.5 DigestOutputStream 47

3.2.6 Key 49

3.2.7 AlgorithmParameters 50

3.2.8 AlgorithmParameter-Generator 52

3.2.9 KeyPair 53

3.2.10 KeyPairGenerator 54

3.2.11 KeyFactory 56

3.2.12 SecureRandom 57

3.2.13 Signature 59

3.2.14 SignedObject 62

3.2.15 Timestamp 63

3.2.16 CodeSigner 64

3.2.17 KeyStore 66

3.3 javax.crypto包详解 70

3.3.1 Mac 70

3.3.2 KeyGenerator 72

3.3.3 KeyAgreement 74

3.3.4 SecretKeyFactory 75

3.3.5 Cipher 77

3.3.6 CipherInputStream 81

3.3.7 CipherOutputStream 83

3.3.8 SealedObject 84

3.4 java.security.spec包和javax.crypto.spec包详解 85

3.4.1 KeySpec和Algorithm-ParameterSpec 85

3.4.2 EncodedKeySpec 86

3.4.3 SecretKeySpec 89

3.4.4 DESKeySpec 90

3.5 java.security.cert包详解 91

3.5.1 Certificate 91

3.5.2 CertificateFactory 92

3.5.3 X509Certificate 94

3.5.4 CRL 95

3.5.5 X509CRLEntry 96

3.5.6 X509CRL 97

3.5.7 CertPath 99

3.6 javax.net.ssl包详解 100

3.6.1 KeyManagerFactory 100

3.6.2 TrustManagerFactory 101

3.6.3 SSLContext 103

3.6.4 HttpsURLConnection 105

3.7 小结 107

第4章 他山之石,可以攻玉 109

4.1 加固你的系统 109

4.1.1 获得权限文件 110

4.1.2 配置权限文件 110

4.1.3 验证配置 111

4.2 加密组件Bouncy Castle 111

4.2.1 获得加密组件 112

4.2.2 扩充算法支持 112

4.2.3 相关API 116

4.3 辅助工具Commons Codec 120

4.3.1 获得辅助工具 120

4.3.2 相关API 121

4.4 小结 131

第二部分 实践篇 134

第5章 电子邮件传输算法——Base64 134

5.1 Base64算法的由来 134

5.2 Base64算法的定义 134

5.3 Base64算法与加密算法的关系 135

5.4 实现原理 136

5.4.1 ASCII码字符编码 136

5.4.2 非ASCII码字符编码 137

5.5 模型分析 137

5.6 Base64算法实现 138

5.6.1 Bouncy Castle 138

5.6.2 Commons Codec 140

5.6.3 两种实现方式的差异 144

5.6.4 不得不说的问题 144

5.7 Url Base64算法实现 147

5.7.1 Bouncy Castle 147

5.7.2 Commons Codec 149

5.7.3 两种实现方式的差异 150

5.8 应用举例 151

5.8.1 电子邮件传输 151

5.8.2 网络数据传输 151

5.8.3 密钥存储 152

5.8.4 数字证书存储 152

5.9 小结 153

第6章 验证数据完整性——消息摘要算法 155

6.1 消息摘要算法简述 155

6.1.1 消息摘要算法的由来 155

6.1.2 消息摘要算法的家谱 156

6.2 MD算法家族 157

6.2.1 简述 157

6.2.2 模型分析 158

6.2.3 实现 160

6.3 SHA算法家族 167

6.3.1 简述 167

6.3.2 模型分析 168

6.3.3 实现 169

6.4 MAC算法家族 181

6.4.1 简述 181

6.4.2 模型分析 182

6.4.3 实现 182

6.5 其他消息摘要算法 195

6.5.1 简述 195

6.5.2 实现 195

6.6 循环冗余校验算法——CRC算法 206

6.6.1 简述 207

6.6.2 模型分析 207

6.6.3 实现 208

6.7 实例:文件校验 209

6.8 小结 211

第7章 初等数据加密——对称加密算法 213

7.1 对称加密算法简述 213

7.1.1 对称加密算法的由来 213

7.1.2 对称加密算法的家谱 214

7.2 数据加密标准——DES 214

7.2.1 简述 214

7.2.2 模型分析 215

7.2.3 实现 216

7.3 三重DES——DESede 222

7.3.1 简述 222

7.3.2 实现 222

7.4 高级数据加密标准——AES 227

7.4.1 简述 227

7.4.2 实现 228

7.5 国际数据加密标准——IDEA 232

7.5.1 简述 232

7.5.2 实现 232

7.6 基于口令加密——PBE 236

7.6.1 简述 236

7.6.2 模型分析 236

7.6.3 实现 237

7.7 实例:对称加密网络应用 242

7.8 小结 254

第8章 高等数据加密——非对称加密算法 256

8.1 非对称加密算法简述 256

8.1.1 非对称加密算法的由来 256

8.1.2 非对称加密算法的家谱 257

8.2 密钥交换算法——DH 258

8.2.1 简述 258

8.2.2 模型分析 258

8.2.3 实现 260

8.3 典型非对称加密算法——RSA 269

8.3.1 简述 269

8.3.2 模型分析 269

8.3.3 实现 271

8.4 常用非对称加密算法——ElGamal 277

8.4.1 简述 277

8.4.2 模型分析 277

8.4.3 实现 278

8.5 实例:非对称加密网络应用 284

8.6 小结 296

第9章 带密钥的消息摘要算法——数字签名算法 297

9.1 数字签名算法简述 297

9.1.1 数字签名算法的由来 297

9.1.2 数字签名算法的家谱 298

9.2 模型分析 298

9.3 经典数字签名算法——RSA 299

9.3.1 简述 300

9.3.2 实现 300

9.4 数字签名标准算法——DSA 306

9.4.1 简述 306

9.4.2 实现 306

9.5 椭圆曲线数字签名算法——ECDSA 311

9.5.1 简述 311

9.5.2 实现 311

9.6 实例:带有数字签名的加密网络应用 318

9.7 小结 329

第三部分 综合应用篇 332

第10章 终极武器——数字证书 332

10.1 数字证书详解 332

10.2 模型分析 335

10.2.1 证书签发 335

10.2.2 加密交互 335

10.3 证书管理 337

10.3.1 KeyTool证书管理 337

10.3.2 OpenSSL证书管理 341

10.4 证书使用 351

10.5 应用举例 360

10.6 小结 360

第11章 终极装备——安全协议 362

11.1 安全协议简述 362

11.1.1 HTTPS协议 362

11.1.2 SSL/TLS协议 363

11.2 模型分析 364

11.2.1 协商算法 365

11.2.2 验证证书 365

11.2.3 产生密钥 366

11.2.4 加密交互 368

11.3 单向认证服务 369

11.3.1 准备工作 369

11.3.2 服务验证 374

11.3.3 代码验证 376

11.4 双向认证服务 381

11.4.1 准备工作 381

11.4.2 服务验证 384

11.4.3 代码验证 386

11.5 应用举例 387

11.6 小结 387

第12章 量体裁衣——为应用选择合适的装备 389

12.1 实例:常规Web应用开发安全 389

12.1.1 常规Web应用基本实现 389

12.1.2 安全升级1——摘要处理 394

12.1.3 安全升级2——加盐处理 396

12.2 实例:IM应用开发安全 399

12.2.1 IM应用开发基本实现 399

12.2.2 安全升级1——隐藏数据 412

12.2.3 安全升级2——加密数据 415

12.3 实例:Web Service应用开发安全 420

12.3.1 Web Service应用基本实现 420

12.3.2 安全升级1——单向认证服务 427

12.3.3 安全升级2——双向认证服务 438

12.4 小结 443

附录A Java 6支持的算法 445

附录B Bouncy Castle支持的算法 447

返回顶部