Java加密与解密的艺术

出版时间:2010年4月  出版社:机械工业出版社  作者:梁栋  页数:450  
Tag标签:无  

前言

众所周知,Java EE是目前企业应用中使用最广泛的技术之一,几乎在任何一个领域都能看到Java EE的身影。随着加密与解密算法的发展,Java加密与解密技术不断演进,不断提高着数据的安全性,已成为各大企业应用中一项关键性的技术。很多企业应用领域的架构师都很关注加密与解密算法在应用中的使用,譬如用户密码加密、网络协议加密等。如何在名目繁多的Java加密与解密技术中选择合适的算法进行企业级应用开发,如何解决Java加密与解密技术开发过程中遇到的各种问题,这成为许多开发者,尤其是架构师关注的焦点问题。然而,国内目前还没有一本书能解决这些问题。本书的作者因工作需要,采用Java加密与解密技术成功构建了企业级网银系统。在开发过程中,作者感受到了Java加密与解密技术的精妙。作者希望把Java加密与解密技术在企业应用开发领域的经验和心得分享给广大读者,提升企业应用的安全性。本书面向的读者本书主要适合以下读者:所有利用Java进行企业级应用开发的软件工程师对于企业级应用软件工程师来讲,这将是一次系统的密码学之旅。本书将介绍密码学理论、Java相关算法实现、开源组件包介绍、数字证书与安全协议等相关内容,并配有相关实例为读者提供详尽实现指导,为构建企业级安全应用提供完整的技术支持。系统架构师对于系统架构师来讲,如何使用成熟技术快速构建安全企业应用是安全工作的第一要务。在算法方面,本书详述了Java 6对于密码学算法的相关实现,针对AES算法密钥长度受限问题给出解决办法。

内容概要

本书是Java安全领域的百科全书,密码学领域的权威经典,4大社区一致鼎力推荐。    全书包含3个部分,基础篇对Java企业级应用的安全知识、密码学核心知识、与Java加密相关的API和通过权限文件加强系统安全方面的知识进行了全面的介绍;实践篇不仅对电子邮件传输算法、消息摘要算法、对称加密算法、非对称加密算法、数字签名算法等现今流行的加密算法的原理进行了全面而深入的剖析,而且还结合翔实的范例说明了各种算法的具体应用场景;综合应用篇既细致地讲解了加密技术对数字证书和SSL/TLS协议的应用,又以示例的方式讲解了加密与解密技术在网络中的实际应用,极具实践指导性。    Java开发者将通过本书掌握密码学和Java加密与解密技术的所有细节;系统架构师将通过本书领悟构建安全企业级应用的要义;其他领域的安全工作者也能通过本书一窥加密与解密技术的精髓。

作者简介

梁栋,资深Java开发者,有丰富的Spring、Hibernate、iBatis等Java技术的使用和开发经验,擅长Java企业级应用开发;安全技术专家,对Java加密与解密技术有系统深入的研究,实践经验亦非常丰富。他还是一位出色的项目经理,是V8Booker(手机电子书)项目的核心开发团队人员之一

书籍目录

第一部分 基础篇   第1章 企业应用安全    1.1 我们身边的安全问题    1.2 拿什么来拯救你,我的应用    1.3 捍卫企业应用安全的银弹    1.4 为你的企业应用上把锁    1.5 小结  第2章 企业应用安全的银弹—密码学    2.1 密码学的发家史    2.2 密码学定义、术语及其分类    2.3 保密通信模型    2.4 古典密码    2.5 对称密码体制    2.6 非对称密码体制    2.7 散列函数    2.8 数字签名    2.9 密码学的未来    2.10 小结  第3章 Java加密利器    3.1 Java与密码学    3.2 java.security包详解    3.3 javax.crypto包详解    3.4 java.security.spec包和javax.crypto.spec包详解    3.5 java.security.cert包详解    3.6 javax.net.ssl包详解    3.7 小结   第4章 他山之石,可以攻玉    4.1 加固你的系统    4.2 加密组件Bouncy Castle     4.3 辅助工具Commons Codec     4.4 小结第二部分 实践篇   第5章 电子邮件传输算法—Base64     5.1 Base64算法的由来    5.2 Base64算法的定义    5.3 Base64算法与加密算法的关系    5.4 实现原理    5.5 模型分析    5.6 Base64算法实现    5.7 Url Base64算法实现    5.8 应用举例    5.9 小结  第6章 验证数据完整性—消息摘要算法    6.1 消息摘要算法简述    6.2 MD算法家族    6.3 SHA算法家族    6.4 MAC算法家族    6.5 其他消息摘要算法    6.6 循环冗余校验算法—CRC算法    6.7 实例:文件校验    6.8 小结  第7章 初等数据加密—对称加密算法    7.1 对称加密算法简述    7.2 数据加密标准—DES     7.3 三重DES—DESede     7.4 高级数据加密标准—AES     7.5 国际数据加密标准—IDEA     7.6 基于口令加密—PBE     7.7 实例:对称加密网络应用    7.8 小结  第8章 高等数据加密—非对称加密算法    8.1 非对称加密算法简述    8.2 密钥交换算法—DH     8.3 典型非对称加密算法—RSA     8.4 常用非对称加密算法—ElGamal    8.5 实例:非对称加密网络应用    8.6 小结  第9章 带密钥的消息摘要算法—数字签名算法    9.1 数字签名算法简述    9.2 模型分析    9.3 经典数字签名算法—RSA     9.4 数字签名标准算法—DSA     9.5 椭圆曲线数字签名算法—ECDSA     9.6 实例:带有数字签名的加密网络应用    9.7 小结第三部分 综合应用篇   第10章 终极武器—数字证书    10.1 数字证书详解    10.2 模型分析    10.3 证书管理    10.4 证书使用    10.5 应用举例    10.6 小结  第11章 终极装备—安全协议    11.1 安全协议简述    11.2 模型分析    11.3 单向认证服务    11.4 双向认证服务    11.5 应用举例    11.6 小结  第12章 量体裁衣—为应用选择合适的装备    12.1 实例:常规Web应用开发安全    12.2 实例:IM应用开发安全    12.3 实例:Web Service应用开发安全    12.4 小结附录A Java 6支持的算法附录B Bouncy Castle支持的算法

章节摘录

插图:企业应用安全当计算机将我们包围、当网络无处不在时,安全问题也成为我们日益关心的问题。我们依赖于网络,同时又受限于网络,而网络本身却是不安全的!如今越来越多的企业应用都架设在网络平台之上,虽然能为用户提供更快捷和便利的服务支持,但这些服务支持也越来越庞大。与此同时,为了满足用户日益增长的服务需求,企业应用不断在如何提供更好的服务支持和更大信息量的传输方面加大技术投入。而与此失衡的是,企业应用的安全性却未能受到足够的重视。单凭用户名和口令鉴别用户身份,继而授权用户使用的方式难以确保数据的安全性。1.1 我们身边的安全问题安全,似乎是个问题。但是,我们觉得这个话题似乎不是那么关键!通常情况下,我们为用户提供用户名和口令验证的方式就可以避免这个问题,但这不是最佳答案,因为这样做是远远不够的。安全隐患无处不在,还是先来看看我们所处环境的安全状况吧!存储问题闪存芯片的快速革命使得移动存储行业发生了质的变化,各种数据存储在各种不同的移动存储设备上。当一部优盘塞满了公司的年度报表、下一年企划策略等各种商业机密后,突然不翼而飞时,我们才会猛然惊醒——优盘中的数据没有任何安全措施,甚至连口令都没有!通信问题我们习惯于通过IM工具与好友聊天、交换心情、透漏隐私,甚至通过IM工具与合作公司交换公司私密数据!当你的隐私成为公共话题,当你的公司的商业数据被曝光,你突然发现原来IM工具是不安全的!没错,不管是哪一种IM工具,都在不遗余力地告诫用户聊天信息可能被盗取,“安全提示:不要将银行卡号暴露在您的聊天信息中!”相信大家都不会对这条提示信息感到陌生。B2C、B2B交易问题到邮局排队汇款的日子已经一去不复返了,取而代之的是网上银行,轻松地点击一下按钮就能顺利完成转账的操作。

媒体关注与评论

作为一名Java开发者,编写安全的代码比编写优雅的代码更重要,因为安全是一切应用的根本。所有Java开发者都应该全面掌握Java加密与解密的技术,尽可能不让你自己编写的代码给别有用心的人留下可乘之机。如果你是一名Java开发者,强烈建议你阅读并收藏本书,它不仅能作为系统学习Java安全知识之用,还可以作为开发时的参考手册。——Java开发者社区 作为一名架构师,构建系统时首先应该考虑的就是安全问题。如何才能让你构建的系统坚不可摧,没有安全隐患?掌握加密与解密的技术将会让你在进行系统架构时游刃有余。本书可谓是安全领域的权威经典,是所有Java应用架构师的必备参考手册,强烈推荐。 ——架构师社区 本书是目前Java加密与解密领域最全面、最详尽、最前沿的著作之一,它将带领你领略Java安全之美。 ——Java中文技术网 密码学是人类最伟大的发明创造之一,是一切安全问题的核心和基础。经过几千年的发展,它在很多行业都发挥着至关重要的作用,尤其是IT领域。本书以通俗的语言,详尽的示例对Java加密与解密的技术进行了详细的阐述,近乎完美。 ——Spring开发者社区 对于Java企业级应用开发者而言,加密与解密技术是最重要、最关键的技术之一,必须掌握。本书是Java加密与解密领域的百科全书,不仅内容全面、翔实、实践性强,而且不乏深度。 ——Ajax中国

编辑推荐

《Java加密与解密的艺术》:构建安全Java应用的百科全书和权威经典,5大社区推荐!当你在用IM与好友聊天时,当你通过B2C网站购物时,当你用邮件与客户交流时,当你公司的应用服务器与合作伙伴交换商业数据时……你是否考虑过你的数据是否安全?你的隐私是否会被泄露?你的银行卡是否会被盗用?你的竞争对手是否能破解你的敏感数据?任何一项通过网络交互的数据都有可能是不安全的,而我们却越来越依赖于网络。如果用户密码、聊天消息、银行账号、邮件信息、商业敏感数据等通过明文传输,后果将不堪设想。自己的账号被盗用、隐私成为公共话题、信用卡被人滥用、竞争对手盗用自己的数据……于是,为了确保数据不被侵犯,数据加密与解密技术应在企业应用中都扮演着非常重要的角色。如果你在思考下面这些问题,也许《Java加密与解密的艺术》就是你想要的!·作为一名系统架构师,如何让你的系统不留有安全隐患?作为一名程序员,如何让你编写的代码没有安全漏洞?·为什么密码学是解决一切安全问题的银弹?密码学究竟是怎样一门学科?近千年来,它经历了怎样的发展历程?它是如何延续至今并逐步发展壮大的?·博客、论坛、社区、网络聊天、企业级数据交互应用、网银平台等网络应用都无法逃避网络安全问题,如何在合适的环节选用合适的加密算法。从而提高系统的安全性?·Java 6支持哪些加密算法?如何扩充Java 6尚不支持的加密算法?如何增强系统的安全级别?·消息摘要算法和文件校验算法有什么关联?它与普通的循环冗余校验算法有何差别?如何使用消息摘要算法隐蔽敏感信息?·为何Base64算法可以隐蔽敏感信息但却无法真正起到数据加密的作用,而对称加密算法却能轻而易举地起到数据加密的作用?Base64算法与对称加密算法之间究竟有何关系?·Sun并没有提供官方的Base64算法支持。我们又该如何构建该算法?针对Base64算法,Apache Commons Codec和BO Lracy Castle提供了怎样的支持?在其他加密算法中又起到了怎样的作用?·对称加密算法已经几乎能胜任所有的加密需求,为何要研制非对称加密算法?对称加密算法究竟有何弊端?非对称加密算法会是对称加密算法的替代者吗?·数字签名是手写签名的数字化产物,其算法与消息摘要算法有何关联?为什么这种算法在结合非对称加密算法密钥后就具备了认证身份的作用?·对称加密算法和非对称加密算法如何分发密钥,数字证书在其中充当了何种角色?数字证书又是如何发放的?·数字证书集多种加密算法于一身,它是如何传递密钥的?又是如何起身份认证作用的?在HTTPS协议中又是如何与SSL/TLS协议相结合构建安全平台的?·Key Tool和Open SSL构建的数字证书究竟有何差别?如何在Java中使用这些工具构建的数字证书?·基于HTTPS协议的网银平台,堪称安全级别最高的网络应用,更是密码学应用领域最为成功的案例。Java6提供了完备的HTTPS协议相关的API,如何使用这些API构建固若金汤的HTTPS平台?·HTTPS协议和SSL/TLS协议是何关系?这些协议与数字证书、加密算法有何关联?如何使用HTTPS协议构建安全的网络应用?·单向认证服务和双向认证服务两者之间有何不同?它们与HTPS协议有何关系?如何运用这两种认证服务保护我们的应用?在如今这个信息化时代,数据是一切应用的核心和基础,有数据存在的地方就会有安全隐患,而密码学则是解决绝大多数安全问题的银弹。Java作为全球最受欢迎的编程语言,它的应用遍及企业级应用的各个领域,安全是所有企业级应用中最突出、重要的问题。然而,这些问题从来就不是一种武器就能解决的。消息摘要算法用于数据校验、对称加密算法用于数据加密、非对称加密算法用于密钥交换、数字签名算法用于身份验证,等等。若要构建安全、坚固的Java企业级应用,不仅要深入了解每种算法的原理并将它们综合运用,而且还要悟透Java加密与解密技术的本质。

图书封面

图书标签Tags

评论、评分、阅读与下载


    Java加密与解密的艺术 PDF格式下载


用户评论 (总计94条)

 
 

  •   对比过基本加密与解密的书,很多讲的都是比较底层的,或者是从系统、网络安全角度出发去讲的,而我作为程序开发人员,更多的想关注数据加密的实现过程与原理。这本书正好是从这个角度去讲解的,使用Java语言也是我的对口语言。。很不错。。
  •   目前正在做java信息安全方面的开放,本书对java的身份认证、通信加密和加密做了系统化的讲述,正是我所需要的。不错。
    如果能给出一个具体的网银系统完整例子对全书的知识综合运用讲解就更好了。
  •   研究java方面的加密算法是好书,能了解一些网站的加密方式
  •   从原理到实现,很好的展现了运用Java如何实施加密解密以提高Application的安全性。。。
  •   Java加密与解密的艺术讲的很详细,很有用~
  •   很不错,最近在搞java加密解密的相关工作,在网上看了看电子版,很不错,决定买本再看看,还是喜欢看书
  •   这是非常值得收藏的一本原创书!
    书中穿插的密码学理论通俗易懂,代码实现描述的非常细致,应用举例也较为常用。
    这是本Java安全领域的入门书和工具书,值得Java高手阅读并收藏。
  •   以前由于用到关于Base64加密解密的算法。一直出现问题,终于在这本书找到了答案。非常好。
  •   这本书专讲JAVA在安全方面的处理和思想,做完全应用的PG可以值得学习一下
  •   书中将的加密算法很全面,很不错的一本书~~
  •   java开发人员的安全顾问
  •   前段时间一直在搞加密解密的东西,这本书帮了我很大的忙,有需要的朋友可以看下
  •   加密...,解密...ing
  •   书写得很好,看了后对加密解密有深刻的认识了。
  •   java 介绍java 在信息安全方面的内容,很实用哦
  •   文中的加密内容还是比较详细的,如果适当的添加一些实际运作过程中的应用就最好了
  •   市面只有这本讲安全的java书,很好
  •   全方位讲解了java security
  •   对企业级应用有安全指导意义!
  •   现在做的项目正好要用到这一块,这本书给了我很大帮助,非常感谢!
  •   买到的绝对是正版书,纸张的质量很不错!内容也很全面。真是买到了不错的宝贝了!下次一定还要过来买!呵呵!
  •   质量感觉还好,内容具体还没看
  •   我现在应该还不适合看这本书,不过买回来翻上一翻,先大概看一下。以后在细看。
  •   很好的一本书,国内难得有这样的书
  •   这本书有袋子包装,书质量很好
  •   这本书我一直想买,今天终于等到了。快递的速度真快呀。
  •   这本书还是蛮好的,但愿收到的是正版货
  •   书中很多内容讲的很到位
  •   very good, it is deep in some section.
  •   作者写的很详实
  •   正在尝试学习
  •   能解决工作的问题
  •   可以提高软件的安全性,值得一看
  •   听说是本好书就买了 希望对我们的网站能有一定帮助吧
  •   很不错,学习的好书。
  •   暂时没有时间看。等看完了再继续评价。
  •   不错,好书,好好看看
  •   看了Java加密与解密的艺术对java程序的加密与解密明白多啦,非常好的一本安全领域的书!
  •   各种论坛上都说不错,买本看看,用的着,5大社区推荐,构建安全Java应用的百科全书和权威经典
  •   这本书是目前java加密与解密方面最全的一本了。粗略浏览了一下,很不错的书……
  •   内容详实,充分,样例解析多,对JAVA加密解密这块不了解得,建议看,这书也是目前市场上唯一本讲这方面比较全面的书了
  •   Java加密与解
  •   java加密的书还不多,对提高程序设计的能力很重要
  •   数发送的很及时,不错的一本java安全领域的书籍,推荐
  •   现在在做跟加密解密有关的项目,帮助很大,很不错的书
  •   从事Java加解密的必读书目
  •   学习API用而已。为了学习下加密的API及方法,拓展思路。业务不用的话基本不看
  •   书来了,刚刚项目中要用到java的安全性,值得一看。
  •   怎么用加密工具类
  •   这本书不仅开阔了我的眼界,而且抛砖引玉,开启了我的安全编程之道
  •   还没看呢,按说技术书都该有光盘的,速度挺快的
  •   书中大部分东西不错,有些细节地方不大好。应该给读者留个联系方式,好和作者交流学习一下嘛
  •   有简单看了些,但后面自己又没有多少时间去深入学习。
  •   很全面,需要细细研究
  •   书不错,会对有经验的同志们有搞头。看了里面的内容还是可以
  •   很好的书,很适合想了解更多知识的读者
  •   慢慢的学会这本书中的内容,,,,
  •   是给老公买的,具体心得还得等其看了才知了
  •   这本书还不错,草草的看了一遍,觉得里面将的东西很多,很高深,以后有时间一定好好钻研!
  •   外面的包装破了,书边上有些皱。书看着有些旧,内容和预期差别不大。
  •   内容整理比较全
  •   如题,不错的参考书
  •   如果能有光盘就完美了
  •   由于时间比较紧,大致翻看了下,感觉还行。
  •   代码,文字都很朴实,纸的质量也很好。整体说来还是值这个钱的。
  •   确实很不错,刚读两章就开始喜欢上了
  •   或该书的源代码在哪里下载?
  •   书还行,上来胡扯了一堆历史和没有价值的知识,然后进入正题,但是怎么看怎么像API说明书..就给三分吧
  •   有点失所望,但是对学习学习基础还是有用的
  •   讲的一般,不值这个价
  •   整体不错,感觉缺少必要实例
  •   虽然最近没看
  •   还不错吧,至少有些内容
  •   此书不太适合我
  •   看到三分之一后觉得钱花的不值了,里面的代码很多价值不大,重复性太多,一半都是基本重复的代码,如果没有代码书要薄一半以上。建议出版商以后出张光盘,书里面的重复代码要少。
  •   转china-pub读者书评书挺不错的,偷看了作者博客那么多帖子,不买本书支持一下就实在是在对不住了!总体来讲,这本书很适合开发者使用,实际使用中有不少情况下需要使用到Java加密API,甚至是Bouncy Castle,但不见得有哪本书能对此作深入介绍(包括作者自己的博客上也没见过),对于这点,必须要要称赞一下!不过,我觉得作者可以介绍地再深入一点,再广泛一点。比如说WebSphere配置双向认证,CXF配置双向认证,可以再丰富一点!
  •   很合适初学者入门的安全书籍,这本书讲得很详细,而且附带代码。个人觉得不错,强烈向大家推荐一下。
  •   最近工作中涉及到了java加解密和安全方面的技术,在网上找了很多资料,但有些杂乱。前些天网上看见这本书将出版,一直跟踪着,上周在网上买来,这几天一直在看,感觉这本书写的不错,很具体,实例很多。很多实践可以直接拿来应用,也可以作为工具书翻阅查询也不错。
  •   这是一本非常实用的书,从密码学理论、Java API实现,包括Bouncy Castle和Commons Codec的API实现、单向双向认证等多方面阐述如何使用Java这门语言加强系统安全。其实,在Java安全这个行业里,未必有多少人系统地学习过这些理论知识,基本上都是单纯去实现一些安全技术根本都不知道是为什么!我想......
  •   书看了有几天了,感觉不错!虽然书价高了点,不过感觉挺值的!以前也接触过这方面的东西,不过比较浅显,也从来没有系统的研究过这方面的东西。现如今需要使用这方面的东西重构项目,正好用得着,看了一些实例,挺实用的!
  •   《Java加密与解密的艺术》——构建Java安全应用的百科全书 请原谅我的懒惰,绞尽脑汁也想不出什么更能概括我对本书的感觉了,虽然这出自本书的推广用语,但确实这一点也不夸张,名副其实~ 本书开始简单介绍了一些基础知识,什么安全对于企业应用的主要性、密码学中的基本概念、java安全应用所需的开发包及工具等等,不论接没接触过java安全应用的开发,读完第一部分应该能迈出第一步走向第二部分了:) 第二部分囊括了密码学里常见的加密算法,包括信息编码、对称加密算法、非对称加密算法、摘要算法、签名算法等,介绍的分门别类,每种算法的文章长度恰到好处。因为理论东西太长就脱离本书的重点了——“JAVA加解密”。基本上每个算法适用于什么场景、如何调用该算法都介绍的清清楚楚,再加上每章后面的实例场景,能方便读者理解各算法的应用场景并在自己的项目中找到合适的应用点。 第三部分更是以实践为主,详细介绍了在项目中会用到的安全相关应用,如数字证书、安全协议相关,最后更是附上三个实例配以说明。 大致看过本书,我觉得不论对密码学有多少了解,有无java安全应用开发经验,均可将本书作为java安全企业级应用架构设计以及开发时的参考书。看过本书,感觉作者很细致,对书中所述事必亲为,确实对得起“原创”两字。 最后,感谢华章图书提供的试读。
  •   请原谅我的懒惰,绞尽脑汁也想不出什么更能概括我对本书的感觉了,虽然这出自本书的推广用语,但确实这一点也不夸张,名副其实~   本书开始简单介绍了一些基础知识,什么安全对于企业应用的主要性、密码学中的基本概念、java安全应用所需的开发包及工具等等,不论接没接触过java安全应用的开发,读完第一部分应该能迈出第一步走向第二部分了:)   第二部分囊括了密码学里常见的加密算法,包括信息编码、对称加密算法、非对称加密算法、摘要算法、签名算法等,介绍的分门别类,每种算法的文章长度恰到好处。因为理论东西太长就脱离本书的重点了——“JAVA加解密”。基本上每个算法适用于什么场景、如何调用该算法都介绍的清清楚楚,再加上每章后面的实例场景,能方便读者理解各算法的应用场景并在自己的项目中找到合适的应用点。   第三部分更是以实践为主,详细介绍了在项目中会用到的安全相关应用,如数字证书、安全协议相关,最后更是附上三个实例配以说明。   大致看过本书,我觉得不论对密码学有多少了解,有无java安全应用开发经验,均可将本书作为java安全企业级应用架构设计以及开发时的参考书。看过本书,感觉作者很细致,对书中所述事必亲为,确实对得起“原创”两字。 ——来自豆瓣
  •   作为JAVA加密与解密的普及读物不错
  •   书确实很不错的。。。。。。。。
  •   不错,对初学者还是很有用的
  •   描述的很详细,解析的很到位
  •   书不错,但就是不知道是不是正版的,后面的一章都开胶了。
  •   做java开发安全技术必备
  •   适合初学者入门的安全书籍,讲得很详细。内容充实,可读性强,实践指导性非常好,从头到尾非常有序
  •   书本的内容很基础,适合初学者学习。书本的例子比较浅显易懂,但是对于有开发经验的人来说好多东西显得冗余了。
  •   书的包装还印刷都非常不错,内容非常详细,但是对于有开发经验的人来说好多东西显得冗余了,应该多讲些原理和理论层面的东西,有代码辅助就可以,不用再书上长篇累牍的吧代码印出来。客观来说这本书还可以,比较系统。
  •   Java加密与解密的艺术
  •   安全方面没有涉及过,备用
  •   不错,这方面没研究过,正好看看
 

250万本中文图书简介、评论、评分,PDF格式免费下载。 第一图书网 手机版

京ICP备13047387号-7