搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
文献来源:
出版时间 :
Java加密与解密的艺术:第2版:Second Edition
0.00    
图书来源: 浙江图书馆(由图书馆配书)
  • 配送范围:
    全国(除港澳台地区)
  • ISBN:
    9787111446781
  • 作      者:
    梁栋著
  • 出 版 社 :
    机械工业出版社
  • 出版日期:
    2014
收藏
编辑推荐
  

  经典著作全新升级,第1版4年来畅销不衰,繁体版在台湾出版,大陆和台湾的读者都给予了极高的评价
  Java安全领域公认的标杆之作,资深专家撰写,全面介绍Java 7中与安全相关的各种API和工具,深入剖析现今流行的各种加密算法及其应用,包含多个前沿的应用案例,实践性强
  

海报:

  

展开
作者简介
  梁栋,资深JavaEE技术专家和JavaEE企业级应用架构师。安全技术专家,对Java加密与解密技术有系统深入的研究。开源技术爱好者,有着丰富的Spring、Apache系列等开源框架的实践经验。国内BouncyCastle扩展加密技术引入者,对其算法实现与应用有深入研究,并将其整理成册,供广大技术人员参考学习。擅长分布式、高并发系统的设计与架构,在分布式缓存、NoSQL、消息队列等方面有非常丰富的实践经验。
展开
内容介绍
  《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加密/解密技术的所有细节;系统架构师将通过本书领悟构建安全企业级应用的要义;其他领域的安全工作者也能通过本书一窥加密与解密技术的精髓。
展开
精彩书摘
  基础篇
  第1章   企业应用安全
  第2章   企业应用安全的银弹—密码学
  第3章   Java加密利器
  第4章   他山之石,可以攻玉
  第 1 章企业应用安全
  当计算机将我们包围、当网络无处不在时,安全问题成为了我们日益关心的问题。我们依赖于网络,同时又受限于网络,而网络本身却是不安全的!如今越来越多的企业应用都架设在网络平台之上,虽然这样能为用户提供更快捷和便利的服务支持,但这些服务支持也越来越庞大。与此同时,为了满足用户日益增长的服务需求,企业应用不断在如何提供更好的服务支持和更大信息量的传输方面加大技术投入。而与此失衡的是,企业应用的安全性却未能受到足够的重视。单凭用户名和口令鉴别用户身份,继而授权用户使用的方式难以确保数据的安全性。
  1.1   我们身边的安全问题
  安全,似乎是个问题。但是,我们觉得这个话题似乎不是那么关键!通常情况下,我们通过为用户提供用户名和口令验证的方式就可以避免这个问题,但这不是最佳答案,因为这样做是远远不够的。安全隐患无处不在,还是先来看看我们所处环境的安全状况吧!
  q 存储问题:闪存芯片的快速的、革命性的发展使得移动存储行业发生了质的变化,各种数据存储在各种不同的移动存储设备上。当塞满了公司的年度报表、下一年企划策略等各种商业机密的优盘突然不翼而飞时,我们才会猛然惊醒—优盘中的数据没有任何安全措施,甚至连口令都没有!
  q 通信问题:我们习惯于通过IM工具与好友聊天、交换心情、透漏隐私,甚至通过IM工具与合作公司交换公司私密数据!当你的隐私成为公共话题时,或当你的公司的商业数据被曝光时,你突然发现原来IM工具是不安全的!没错,不管是哪一种IM工具,都在不遗余力地告诫用户聊天信息可能被盗取,“安全提示:不要将银行卡号暴露在您的聊天信息中!”相信大家都不会对这条提示信息感到陌生。
  q B2C、B2B交易问题:到邮局排队汇款的日子已经一去不复返了,取而代之的是网上银行,轻松地点击一下按钮就能顺利完成转账的操作。网上银行的确为我们的生活带来了便利,但是,如果我们有被钓鱼网站骗取银行卡号和密码的不幸遭遇,那么现在想起来是不是仍然心有余悸?难道没有一种办法能确保我们输入的信息被发送到安全的地方吗?
  q 服务交互问题:随着大型应用对交互性的需求越来越高,这些应用之间的数据交互也越来越频繁,甚至是大批量、高负荷的数据交互。当你公司的应用通过Web Service接口与合作伙伴交互数据的时候,你该如何确定对方就是你所信赖的合作伙伴呢?你的Web Service接口安全吗?
  q 移动应用服务问题:3G时代已经来临,在不远的某一天,你将完全可以通过手机完成现在只能通过PC完成的事情,如视频聊天、B2C购物、银行转账等等。3G时代预示着智能手机将无所不能!其实手机也是计算机,只不过它与你熟悉的PC在体积上有较大的差别而已。3G手机一样要通过网络完成你要执行的操作,将平台由PC转换为手机,并不能保证手机平台就能比PC平台有着更高的安全性!用手机在WAP网站上下载一款软件,是再平常不过的事情了。但是,如何避免用户因不够信任该软件而取消下载呢?下载后,手机如何鉴别这个软件是安全的呢?如何避免发布的软件在被客户成功下载之前被篡改呢?
  q 内部人为问题:前面列举的问题都来源于外部,我们往往忽略了内部人为问题。现在的企业应用都能为用户提供用户名和口令来确保用户的数据安全,但很多时候用户名和口令在数据库中却一目了然,甚至有的是以明文方式存储的!企业内部任何能访问数据库的员工都能轻而易举地盗取用户的用户名和口令,然后冒充用户的身份完成各种合乎用户行为的操作,侵害用户的利益。企业因此被用户投诉之后,却又找不到任何蛛丝马迹。
  当我们的利益受到侵犯时我们才会想起安全问题,安全原来如此重要!一不小心,你的企业应用就会因为数据泄露而丧失良机、引发投诉,甚至是付出巨额赔款!安全问题关系着企业的生死存亡!
  ……
展开
目录
前 言

第一部分 基础篇

第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 机械加密阶段
2.1.3 计算机加密阶段
2.2 密码学定义、术语及其分类
2.2.1 密码学常用术语
2.2.2 密码学分类
2.3 保密通信模型
2.4 古典密码
2.5 对称密码体制
2.5.1 流密码
2.5.2 分组密码
2.6 非对称密码体制
2.7 散列函数
2.8 数字签名
2.9 公钥基础设施
2.9.1 PKI的标准
2.9.2 PKI系统的组成
2.9.3 数字证书
2.10 PGP、OpenPGP与GPG
2.11 密码学的未来
2.11.1 密码算法的破解
2.11.2 密码学的明天
2.12 小结

第3章 Java加密利器
3.1 Java与密码学
3.1.1 Java安全领域组成部分
3.1.2 安全提供者体系结构
3.1.3 关于出口的限制
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接口
3.2.7 AlgorithmParameters类
3.2.8 AlgorithmParameter-
Generator类
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和Algorithm-ParameterSpec接口
3.4.2 EncodedKeySpec类
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.6.5 SSLSession接口
3.6.6 SSLSocketFactory类
3.6.7 SSLSocket类
3.6.8 SSLServerSocketFactory类
3.6.9 SSLServerSocket类
3.7 小结

第4章 他山之石,可以攻玉
4.1 加固你的系统
4.1.1 获得权限文件
4.1.2 配置权限文件
4.1.3 验证配置
4.2 加密组件Bouncy Castle
4.2.1 获得加密组件
4.2.2 扩充算法支持
4.2.3 相关API
4.3 辅助工具Commons Codec
4.3.1 获得辅助工具
4.3.2 相关API
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 不得不说的问题
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.8.5 OpenSSL操作Base 64编码
5.9 小结

第6章 验证数据完整性-消息摘要算法
6.1 消息摘要算法简述
6.1.1 消息摘要算法的由来
6.1.2 消息摘要算法的家谱
6.2 MD算法家族
6.2.1 简述
6.2.2 模型分析
6.2.3 实现
6.3 SHA算法家族
6.3.1 简述
6.3.2 模型分析
6.3.3 实现
6.4 MAC算法家族
6.4.1 简述
6.4.2 模型分析
6.4.3 实现
6.5 其他消息摘要算法
6.5.1 简述
6.5.2 实现
6.6 循环冗余校验算法-CRC算法
6.6.1 简述
6.6.2 模型分析
6.6.3 实现
6.7 实例:文件校验
6.8 小结

第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&ECDH
8.2.1 简述
8.2.2 模型分析
8.2.3 DH实现
8.2.4 ECDH实现
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证书管理
10.3.2 OpenSSL证书管理
10.4 证书文件操作
10.4.1 JKS文件操作
10.4.2 PFX文件操作
10.4.3 PEM文件操作
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 准备工作
11.3.2 服务验证
11.3.3 代码验证
11.4 双向认证服务
11.4.1 准备工作
11.4.2 服务验证
11.4.3 代码验证
11.5 应用举例
11.6 实例
11.6.1 SSLSocket获取数字证书
11.6.2 SSLSocket加密交互
11.7 小结

第12章 量体裁衣-为应用选择合适的装备
12.1 实例:常规Web应用开发安全
12.1.1 常规Web应用基本实现
12.1.2 安全升级1-摘要处理
12.1.3 安全升级2-加盐处理
12.2 实例:IM应用开发安全
12.2.1 IM应用开发基本实现
12.2.2 安全升级1-隐藏数据
12.2.3 安全升级2-加密数据
12.3 实例:Web Service应用开发安全
12.3.1 Web Service应用基本实现
12.3.2 安全升级1-单向认证服务
12.3.3 安全升级2-双向认证服务
12.4 小结

附录A Java 7支持的算法
附录B Bouncy Castle支持的算法
展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

请选择您读者所在的图书馆

选择图书馆
浙江图书馆
点击获取验证码
登录
没有读者证?在线办证