logo
分类于: 计算机基础 互联网 设计

简介

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

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

资源最后更新于 2020-03-29 03:27:09

作者:梁栋

出版社:出版社机械工业出版社

出版日期:2014-01

ISBN:9787111446781

文件格式: pdf

标签: 网络 计算机 数学 限时特价

简介· · · · · ·

《Java加密与解密的艺术(第2版)》是Java安全领域公认的标杆之作,被奉为每一位Java开发工程师必读的著作之一。由资深专家撰写,第1版4年来畅销不衰,繁体版在台湾出版,大陆和台湾的读者都给予了极高的评价。第2版根据Java 7全面更新,不仅新增了很多重要的内容,而且对第1版中存在的瑕疵和不足进行了完善,使得本书内容更为详尽、更加与时俱进,能更好地满足广大Java企业级应用开发工程师和系统架构师的需求。《Java加密与解密的艺术(第2版)》共12章,分为3个部分:基础篇(第1~4章)对Java企业级应用的安全知识、密码学核心知识、与Java加密相关的API和通过权限文件加强系统安全方面的知识进行了全面的介绍;实践篇(第5~9章)不仅对电子邮件传输算法、消息摘要算法、对称加密算法、非对称加密算法、数字签名算法等现今流行的加密算法的原理进行了全面而深入的剖析,还结合翔实的范例说明了各种算法的具体应用场景;综合应用篇(第10~12章)既细致地讲解了加密技术对数字证书和SSL/TLS协议的应用,又以示例的方式讲解了加密与解密技术在网络中的实际应用,极具实践指导性。Java开发者将通过本书掌握密码学和Java加密/解密技术的所有细节;系统架构师将通过本书领悟构建安全企业级应用的要义;其他领域的安全工作者也能通过本书一窥加密与解密技术的精髓。梁栋:资深Java EE技术专家和Java EE企业级应用架构师。安全技术专家,对Java加密与解密技术有系统深入的研究。开源技术爱好者,有着丰富的Spring、Apache系列等开源框架的实践经验。国内Bouncy Castle扩展加密技术引入者,对其算法实现与应用有深入研究,并将其整理成册,供广大技术人员参考学习。擅长分布式、高并发系统的设计与架构,在分布式缓存、NoSQL、消息队列等方面有非常丰富的实践经验。

想要: 点击会收藏到你的 我的收藏,可以在这里查看

已收: 表示已经收藏

Tips: 注册一个用户 可以通过用户中心得到电子书更新的通知哦

目录

  1. 前言
  2. 为什么要写这本书
  3. 本书面向的读者
  4. 如何阅读本书
  5. 新版变更说明
  6. 读者约定
  7. 第一部分 基础篇
  8. 第1章 企业应用安全
  9. 1.1 我们身边的安全问题
  10. 1.2 拿什么来拯救你,我的应用
  11. 1.2.1 安全技术目标
  12. 1.2.2 OSI安全体系结构
  13. 1.2.3 TCP/IP安全体系结构
  14. 1.3 捍卫企业应用安全的银弹
  15. 1.3.1 密码学在安全领域中的身影
  16. 1.3.2 密码学与Java EE
  17. 1.4 为你的企业应用上把锁
  18. 1.5 小结
  19. 第2章 企业应用安全的银弹——密码学
  20. 2.1 密码学的发家史
  21. 2.1.1 手工加密阶段
  22. 2.1.2 机械加密阶段
  23. 2.1.3 计算机加密阶段
  24. 2.2 密码学定义、术语及其分类
  25. 2.2.1 密码学常用术语
  26. 2.2.2 密码学分类
  27. 2.3 保密通信模型
  28. 2.4 古典密码
  29. 2.5 对称密码体制
  30. 2.5.1 流密码
  31. 2.5.2 分组密码
  32. 2.6 非对称密码体制
  33. 2.7 散列函数
  34. 2.8 数字签名
  35. 2.9 公钥基础设施
  36. 2.9.1 PKI的标准
  37. 2.9.2 PKI系统的组成
  38. 2.9.3 数字证书
  39. 2.10 PGP、OpenPGP与GPG
  40. 2.11 密码学的未来
  41. 2.11.1 密码算法的破解
  42. 2.11.2 密码学的明天
  43. 2.12 小结
  44. 第3章 Java加密利器
  45. 3.1 Java与密码学
  46. 3.1.1 Java安全领域组成部分
  47. 3.1.2 安全提供者体系结构
  48. 3.1.3 关于出口的限制
  49. 3.1.4 关于本章内容
  50. 3.2 java.security包详解
  51. 3.2.1 Provider类
  52. 3.2.2 Security类
  53. 3.2.3 MessageDigest类
  54. 3.2.4 DigestInputStream类
  55. 3.2.5 DigestOutputStream类
  56. 3.2.6 Key接口
  57. 3.2.7 AlgorithmParameters类
  58. 3.2.8 AlgorithmParameterGenerator类
  59. 3.2.9 KeyPair类
  60. 3.2.10 KeyPairGenerator类
  61. 3.2.11 KeyFactory类
  62. 3.2.12 SecureRandom类
  63. 3.2.13 Signature类
  64. 3.2.14 SignedObject类
  65. 3.2.15 Timestamp类
  66. 3.2.16 CodeSigner类
  67. 3.2.17 KeyStore类
  68. 3.3 javax.crypto包详解
  69. 3.3.1 Mac类
  70. 3.3.2 KeyGenerator类
  71. 3.3.3 KeyAgreement类
  72. 3.3.4 SecretKeyFactory类
  73. 3.3.5 Cipher类
  74. 3.3.6 CipherInputStream类
  75. 3.3.7 CipherOutputStream类
  76. 3.3.8 SealedObject类
  77. 3.4 java.security.spec包和javax.crypto.spec包详解
  78. 3.4.1 KeySpec和AlgorithmParameterSpec接口
  79. 3.4.2 EncodedKeySpec类
  80. 3.4.3 SecretKeySpec类
  81. 3.4.4 DESKeySpec类
  82. 3.5 java.security.cert包详解
  83. 3.5.1 Certificate类
  84. 3.5.2 CertificateFactory类
  85. 3.5.3 X509Certificate类
  86. 3.5.4 CRL类
  87. 3.5.5 X509CRLEntry类
  88. 3.5.6 X509CRL类
  89. 3.5.7 CertPath类
  90. 3.6 javax.net.ssl包详解
  91. 3.6.1 KeyManagerFactory类
  92. 3.6.2 TrustManagerFactory类
  93. 3.6.3 SSLContext类
  94. 3.6.4 HttpsURLConnection类
  95. 3.6.5 SSLSession接口
  96. 3.6.6 SSLSocketFactory类
  97. 3.6.7 SSLSocket类
  98. 3.6.8 SSLServerSocketFactory类
  99. 3.6.9 SSLServerSocket类
  100. 3.7 小结
  101. 第4章 他山之石,可以攻玉
  102. 4.1 加固你的系统
  103. 4.1.1 获得权限文件
  104. 4.1.2 配置权限文件
  105. 4.1.3 验证配置
  106. 4.2 加密组件Bouncy Castle
  107. 4.2.1 获得加密组件
  108. 4.2.2 扩充算法支持
  109. 4.2.3 相关API
  110. 4.3 辅助工具Commons Codec
  111. 4.3.1 获得辅助工具
  112. 4.3.2 相关API
  113. 4.4 小结
  114. 第二部分 实践篇
  115. 第5章 电子邮件传输算法——Base64
  116. 5.1 Base64算法的由来
  117. 5.2 Base64算法的定义
  118. 5.3 Base64算法与加密算法的关系
  119. 5.4 实现原理
  120. 5.4.1 ASCII码字符编码
  121. 5.4.2 非ASCII码字符编码
  122. 5.5 模型分析
  123. 5.6 Base64算法实现
  124. 5.6.1 Bouncy Castle
  125. 5.6.2 Commons Codec
  126. 5.6.3 两种实现方式的差异
  127. 5.6.4 不得不说的问题
  128. 5.7 Url Base64算法实现
  129. 5.7.1 Bouncy Castle
  130. 5.7.2 Commons Codec
  131. 5.7.3 两种实现方式的差异
  132. 5.8 应用举例
  133. 5.8.1 电子邮件传输
  134. 5.8.2 网络数据传输
  135. 5.8.3 密钥存储
  136. 5.8.4 数字证书存储
  137. 5.8.5 OpenSSL操作Base64编码
  138. 5.9 小结
  139. 第6章 验证数据完整性——消息摘要算法
  140. 6.1 消息摘要算法简述
  141. 6.1.1 消息摘要算法的由来
  142. 6.1.2 消息摘要算法的家谱
  143. 6.2 MD算法家族
  144. 6.2.1 简述
  145. 6.2.2 模型分析
  146. 6.2.3 实现
  147. 6.3 SHA算法家族
  148. 6.3.1 简述
  149. 6.3.2 模型分析
  150. 6.3.3 实现
  151. 6.4 MAC算法家族
  152. 6.4.1 简述
  153. 6.4.2 模型分析
  154. 6.4.3 实现
  155. 6.5 其他消息摘要算法
  156. 6.5.1 简述
  157. 6.5.2 实现
  158. 6.6 循环冗余校验算法——CRC算法
  159. 6.6.1 简述
  160. 6.6.2 模型分析
  161. 6.6.3 实现
  162. 6.7 实例:文件校验
  163. 6.8 小结
  164. 第7章 初等数据加密——对称加密算法
  165. 7.1 对称加密算法简述
  166. 7.1.1 对称加密算法的由来
  167. 7.1.2 对称加密算法的家谱
  168. 7.2 数据加密标准——DES
  169. 7.2.1 简述
  170. 7.2.2 模型分析
  171. 7.2.3 实现
  172. 7.3 三重DES——DESede
  173. 7.3.1 简述
  174. 7.3.2 实现
  175. 7.4 高级数据加密标准——AES
  176. 7.4.1 简述
  177. 7.4.2 实现
  178. 7.5 国际数据加密标准——IDEA
  179. 7.5.1 简述
  180. 7.5.2 实现
  181. 7.6 基于口令加密——PBE
  182. 7.6.1 简述
  183. 7.6.2 模型分析
  184. 7.6.3 实现
  185. 7.7 对称加密网络应用
  186. 7.8 小结
  187. 第8章 高等数据加密——非对称加密算法
  188. 8.1 非对称加密算法简述
  189. 8.1.1 非对称加密算法的由来
  190. 8.1.2 非对称加密算法的家谱
  191. 8.2 密钥交换算法——DH&ECDH
  192. 8.2.1 简述
  193. 8.2.2 模型分析
  194. 8.2.3 DH实现
  195. 8.2.4 ECDH实现
  196. 8.3 典型非对称加密算法——RSA
  197. 8.3.1 简述
  198. 8.3.2 模型分析
  199. 8.3.3 实现
  200. 8.4 常用非对称加密算法——ElGamal
  201. 8.4.1 简述
  202. 8.4.2 模型分析
  203. 8.4.3 实现
  204. 8.5 实例:非对称加密网络应
  205. 8.6 小结
  206. 第9章 带密钥的消息摘要算法——数字签名算法
  207. 9.1 数字签名算法简述
  208. 9.1.1 数字签名算法的由来
  209. 9.1.2 数字签名算法的家谱
  210. 9.2 模型分析
  211. 9.3 经典数字签名算法——RSA
  212. 9.3.1 简述
  213. 9.3.2 实现
  214. 9.4 数字签名标准算法——DSA
  215. 9.4.1 简述
  216. 9.4.2 实现
  217. 9.5 椭圆曲线数字签名算法——ECDSA
  218. 9.5.1 简述
  219. 9.5.2 实现
  220. 9.6 带有数字签名的加密网络应用
  221. 9.7 小结
  222. 第三部分 综合应用篇
  223. 第10章 终极武器——数字证书
  224. 10.1 数字证书详解
  225. 10.2 模型分析
  226. 10.2.1 证书签发
  227. 10.2.2 加密交互
  228. 10.3 证书管理
  229. 10.3.1 KeyTool证书管理
  230. 10.3.2 OpenSSL证书管理
  231. 10.4 证书文件操作
  232. 10.4.1 JKS文件操作
  233. 10.4.2 PFX文件操作
  234. 10.4.3 PEM文件操作
  235. 10.5 应用举例
  236. 10.6 小结
  237. 第11章 终极装备——安全协议
  238. 11.1 安全协议简述
  239. 11.1.1 HTTPS协议
  240. 11.1.2 SSL/TLS协议
  241. 11.2 模型分析
  242. 11.2.1 协商算法
  243. 11.2.2 验证证书
  244. 11.2.3 产生密钥
  245. 11.2.4 加密交互
  246. 11.3 单向认证服务
  247. 11.3.1 准备工作
  248. 11.3.2 服务验证
  249. 11.3.3 代码验证
  250. 11.4 双向认证服务
  251. 11.4.1 准备工作
  252. 11.4.2 服务验证
  253. 11.4.3 代码验证
  254. 11.5 应用举例
  255. 11.6 实例
  256. 11.6.1 SSLSocket获取数字证书
  257. 11.6.2 SSLSocket加密交互
  258. 11.7 小结
  259. 第12章 量体裁衣——为应用选择合适的装备
  260. 12.1 实例:常规Web应用开发安全
  261. 12.1.1 常规Web应用基本实现
  262. 12.1.2 安全升级1——摘要处理
  263. 12.1.3 安全升级2——加盐处理
  264. 12.2 IM应用开发安全
  265. 12.2.1 IM应用开发基本实现
  266. 12.2.2 安全升级1——隐藏数据
  267. 12.2.3 安全升级2——加密数据
  268. 12.3 实例:Web Service应用开发安全
  269. 12.3.1 Web Service应用基本实现
  270. 12.3.2 安全升级1——单向认证服务
  271. 12.3.3 安全升级2——双向认证服务
  272. 12.4 小结
  273. 附录A Java7支持的算法
  274. 附录B Bouncy Castle支持的算法