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

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

工业技术

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

第一部分 基础篇 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非对称密码体制 27

2.7散列函数 28

2.8数字签名 29

2.9公钥基础设施 31

2.9.1 PKI的标准 31

2.9.2 PKI系统的组成 32

2.9.3数字证书 33

2.10 PGP OpenPGP与GPG 34

2.11密码学的未来 34

2.11.1密码算法的破解 35

2.11.2密码学的明天 36

2.12小结 36

第3章 Java加密利器 38

3.1 Java与密码学 38

3.1.1 Java安全领域组成部分 38

3.1.2安全提供者体系结构 39

3.1.3关于出口的限制 40

3.1.4关于本章内容 40

3.2 java.security包详解 40

3.2.1 Provider类 41

3.2.2 Security类 44

3.2.3 MessageDigest类 46

3.2.4 DigestInputStream类 49

3.2.5 DigestOutputStream类 49

3.2.6 Key接口 52

3.2.7 AlgorithmParameters类 53

3.2.8 AlgorithmParameter-Generator类 55

3.2.9 KeyPair类 56

3.2.10 KeyPairGenerator类 57

3.2.11 KeyFactory类 59

3.2.12 SecureRandom类 61

3.2.13 Signature类 62

3.2.14 SignedObject类 65

3.2.15 Timestamp类 66

3.2.16 CodeSigner类 67

3.2.17 KeyStore类 69

3.3 javax.crypto包详解 73

3.3.1 Mac类 73

3.3.2 KeyGenerator类 75

3.3.3 KeyAgreement类 77

3.3.4 SecretKeyFactory类 78

3.3.5 Cipher类 80

3.3.6 CipherInputStream类 83

3.3.7 CipherOutputStream类 83

3.3.8 SealedObject类 86

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

3.4.1 KeySpec和Algorithm-ParameterSpec接口 88

3.4.2 EncodedKeySpec类 89

3.4.3 SecretKeySpec类 92

3.4.4 DESKeySpec类 93

3.5 java.security.cert包详解 94

3.5.1 Certificate类 94

3.5.2 CertificateFactory类 95

3.5.3 X509Certificate类 97

3.5.4 CRL类 98

3.5.5 X509CRLEntry类 99

3.5.6 X509CRL类 100

3.5.7 CertPath类 102

3.6 javax.net.ssl包详解 103

3.6.1 KeyManagerFactory类 103

3.6.2 TrustManagerFactory类 105

3.6.3 SSLContext类 106

3.6.4 HttpsURLConnection类 109

3.6.5 SSLSession接口 111

3.6.6 SSLSocketFactory类 111

3.6.7 SSLSocket类 112

3.6.8 SSLServerSocketFactory类 114

3.6.9 SSLServerSocket类 114

3.7小结 117

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

4.1加固你的系统 119

4.1.1获得权限文件 120

4.1.2配置权限文件 120

4.1.3验证配置 121

4.2加密组件Bouncy Castle 121

4.2.1获得加密组件 122

4.2.2扩充算法支持 122

4.2.3相关API 126

4.3辅助工具Commons Codec 130

4.3.1获得辅助工具 130

4.3.2相关API 131

4.4小结 141

第二部分 实践篇 144

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

5.1 Base64算法的由来 144

5.2 Base64算法的定义 144

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

5.4实现原理 146

5.4.1 ASCⅡ码字符编码 146

5.4.2非ASCⅡ码字符编码 147

5.5模型分析 147

5.6 Base64算法实现 148

5.6.1 Bouncy Castle 148

5.6.2 Commons Codec 150

5.6.3两种实现方式的差异 154

5.6.4不得不说的问题 154

5.7 Url Base64算法实现 157

5.7.1 Bouncy Castle 157

5.7.2 Commons Codec 159

5.7.3两种实现方式的差异 160

5.8应用举例 161

5.8.1电子邮件传输 161

5.8.2网络数据传输 161

5.8.3密钥存储 162

5.8.4数字证书存储 162

5.8.5 OpenSSL操作Base 64编码 163

5.9小结 163

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

6.1消息摘要算法简述 165

6.1.1消息摘要算法的由来 165

6.1.2消息摘要算法的家谱 166

6.2 MD算法家族 167

6.2.1简述 167

6.2.2模型分析 168

6.2.3实现 170

6.3 SHA算法家族 177

6.3.1简述 177

6.3.2模型分析 178

6.3.3实现 179

6.4 MAC算法家族 191

6.4.1简述 191

6.4.2模型分析 192

6.4.3实现 192

6.5其他消息摘要算法 205

6.5.1简述 205

6.5.2实现 205

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

6.6.1简述 216

6.6.2模型分析 217

6.6.3实现 217

6.7实例:文件校验 219

6.8小结 222

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

7.1对称加密算法简述 224

7.1.1对称加密算法的由来 224

7.1.2对称加密算法的家谱 225

7.2数据加密标准——DES 225

7.2.1简述 225

7.2.2模型分析 226

7.2.3实现 227

7.3三重DES——DESede 233

7.3.1简述 233

7.3.2实现 233

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

7.4.1简述 238

7.4.2实现 239

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

7.5.1简述 243

7.5.2实现 243

7.6基于口令加密——PBE 247

7.6.1简述 247

7.6.2模型分析 247

7.6.3实现 248

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

7.8小结 265

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

8.1非对称加密算法简述 267

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

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

8.2密钥交换算法——DH&ECDH 269

8.2.1简述 269

8.2.2模型分析 269

8.2.3 DH实现 270

8.2.4 ECDH实现 280

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

8.3.1简述 289

8.3.2模型分析 290

8.3.3实现 291

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

8.4.1简述 298

8.4.2模型分析 298

8.4.3实现 299

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

8.6小结 317

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

9.1数字签名算法简述 319

9.1.1数字签名算法的由来 319

9.1.2数字签名算法的家谱 320

9.2模型分析 320

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

9.3.1简述 322

9.3.2实现 322

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

9.4.1简述 328

9.4.2实现 328

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

9.5.1简述 333

9.5.2实现 333

9.6实例:带有数字签名的加密 341

网络应用 341

9.7小结 352

第三部分 综合应用篇 356

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

10.1数字证书详解 356

10.2模型分析 359

10.2.1证书签发 359

10.2.2加密交互 360

10.3证书管理 361

10.3.1 KeyTool证书管理 361

10.3.2 OpenSSL证书管理 368

10.4证书文件操作 379

10.4.1 JKS文件操作 379

10.4.2 PFX文件操作 388

10.4.3 PEM文件操作 390

10.5应用举例 394

10.6小结 394

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

11.1安全协议简述 396

11.1.1 HTTPS协议 396

11.1.2 SSL/TLS协议 397

11.2模型分析 398

11.2.1协商算法 399

11.2.2验证证书 399

11.2.3产生密钥 400

11.2.4加密交互 402

11.3单向认证服务 403

11.3.1准备工作 403

11.3.2服务验证 408

11.3.3代码验证 410

11.4双向认证服务 415

11.4.1准备工作 415

11.4.2服务验证 418

11.4.3代码验证 420

11.5应用举例 421

11.6实例 422

11.6.1 SSLSocket获取数字证书 422

11.6.2 SSLSocket加密交互 425

11.7小结 429

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

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

12.1.1常规Web应用基本实现 431

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

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

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

12.2.1 IM应用开发基本实现 441

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

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

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

12.3.1 Web Service应用基本实现 462

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

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

12.4小结 485

附录A Java 7支持的算法 487

附录B Bouncy Castle支持的算法 490

返回顶部