火龙果Java安全技术分析报告.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
主要内容 16.1 安全基本知识 16.2 Java的安全模型 16.3 Java的密码学结构 16.3 Java的密码学结构 16.3.1 基本概念 16.3.2 核心类 16.3.3 消息摘要 16.3.4 数字签名 16.3.5 数据加密/解密 16.3.1 基本概念 Java 密码学结构设计遵循两个原则: (1) 算法的独立性和可靠性;(2) 实现的独立性和相互作用性。 Java 2 中主要的密码学服务有以下几种: 数字签名、消息摘要、加密/解密 密钥工厂 密钥库创建与密钥管理 算法参数产生、管理 证书工厂 JDK5.0提供的密码学服务 可以通过修改{java.home}/lib/security/java.security文件安装密码学服务提供者。缺省情况下,Java运行时环境已经安装了下面的提供者: vider.1=vider.Sun vider.2=sun.security.rsa.SunRsaSign vider.3=ernal.ssl.Provider vider.4=vider.SunJCE vider.5=sun.security.jgss.SunProvider vider.6=com.sun.security.sasl.Provider 见程序 测试程序 import java.security.Provider; import java.security.Security; public class GetProviderInfo { public static void main(String[] args) { Provider[] plist = Security.getProviders(); for (int i = 0; i plist.length; i++) { System.out.println([ + (i + 1) + ]-Provider name: + plist[i].getName()); System.out.println(Provider info: + plist[i].getInfo()); } } } 16.3.2 核心类 Security , Provider MessageDigest类 Signature类 Key ,KeyFactory , KeyPair ,KeyPairGenerator SecureRandom 16.3.3 消息摘要 使用MD5算法产生消息摘要 也可以使用SHA1算法 MessageDigest支持MD5和SHA消息摘要算法。调用getInstance()方法选择一个合适的算法;调用update()方法准备数据输入缓冲区;digest()方法产生消息摘要;摘要的长度取决于所选择的算法。使用 MD5产生128位的摘要,使用SHA产生160位的摘要。 16.3.4 数字签名 Signature类支持数字签名,getInstance( )方法选择数字签名的算法。 通过指定参数SHA1withDSA,可以在DSA数字签名算法中使用SHA-1产生消息摘要。 如果使用RSA数字签名算法,可以用MD5或者SHA-1产生消息摘要,可以由参数MD2withRSA, MD5withRSA, SHA1withRSA确定使用的算法。 见程序 16.3.5 数据加密/解密 1. 对称密钥 对称加密使用相同的密钥执行加密和解密操作。目前,安全度最高,使用最广泛地就是AES加密标准。 对称加密的基本过程是: 根据指定算法生成密钥产生器对象; 产生密钥 生成加密引擎对象 向加密引擎初始化需要加密的数据 执行加密操作 对称解密密的基本过程是: 获取密钥 生成解密引擎对象 向解密引擎初始化需要解密的数据 执行解密操作 见程序 非对称密钥 非对称密钥体系就是加密和解密用不同的密钥,称为密钥对,一个叫公钥,一个叫私钥。公钥是公开的,任何人都可以访问,私钥是保密的,只有密钥的持有能使用。 最典型和使用最普遍的就是RSA算法。一般用接收者的公钥加密数据,只有接收者用自己的私钥才可以解密。 主要设计到的类有:KeyPairGenerator和Cipher.KeyPairGenerator负责产生密钥对,Cipher作为执行引擎,具体执行加密和解密操作。 非对称加密解密过程 一般加密处理过程是: 使用RSA算法产生密钥对 用公钥初始加密引擎Cipher 向Cipher传送数据。 执行加密操作。 解密过程是: 用私钥初始解密引擎Cipher 向Cipher传送已加密的数据。 执行解密操作。 见程序 《Java程序设计之网络编程》 第16章 Java安全技术 主要内容 16.1 安全基本知识

文档评论(0)

三沙市的姑娘 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档