14、java安全-密钥
jingqiang521
这个作者很懒,什么都没留下…
展开
-
1、Java安全之秘密密钥-对称加密
在Java中,秘密密钥的抽象接口为javax.crypto.SecretKey,其算法类型为对称加密算法,对称加密算法的主要特点就是加密与解密用的是同一把密钥,对称加密算法主要有:DES,DESede,AES,Blowfish,RC2,RC4等。下面看一个使用例子:[java] view plaincopypackage com.xtayfj转载 2015-09-28 15:10:00 · 2911 阅读 · 0 评论 -
Java加密技术(八)——初探SSL
在Java加密技术(七)中,我们模拟了一个基于RSA非对称加密网络的安全通信。现在我们深度了解一下现有的安全网络通信——SSL。 我们需要构建一个由CA机构签发的有效证书,这里我们使用上文中生成的自签名证书zlex.cer 这里,我们将证书导入到我们的密钥库。 Shell代码 keytool -import -alias www.zlex.转载 2015-10-21 12:09:57 · 547 阅读 · 0 评论 -
java加密技术(十二) keytool命令
Keytool是用于管理密钥和证书的工具,使用户和管理员能管理自己的公/私钥对以及相关的证书。Keytool主要用于认证服务和使用数字签名验证数据的完整性。J2SE复合包以命令行工具的形式提供Keytool,可用于创建Java密钥库(Java keystore,JKS)和Java加密扩展密钥库(Java Cryptographic Extensions Keystore,JCEKS)、生成并存储密转载 2015-10-21 15:50:33 · 2005 阅读 · 0 评论 -
java加密技术(十一) 认证相关
ca认证中心 所谓CA(Certificate Authority)认证中心,它是采用PKI(Public Key Infrastructure)公开密钥基础架构技术,专门提供网络身份认证服务,负责签发和管理数字证书,且具有权威性和公正性的第三方信任机构,它的作用就像我们现实生活中颁发证件的公司,如护照办理机构。目前国内的CA认证中心主要分为区域性CA认证中心和行业性CA认证中心,广东省电原创 2015-10-21 14:50:22 · 443 阅读 · 0 评论 -
Java加密技术(六)——非对称加密算法DSA
接下来我们介绍DSA非对称加密和数字签名,非对称加密的另一种实现。 DSA DSA-Digital Signature Algorithm 是Schnorr和ElGamal签名算法的变种,被美国NIST作为DSS(DigitalSignature Standard)。简单的说,这是一种更高级的验证方式,用作数字签名。不单单只有公钥、私钥,还有数字签名。私钥加密生成数字签名,公钥验证数据及签转载 2015-10-21 11:09:12 · 592 阅读 · 0 评论 -
Java加密技术(五)——非对称加密算法的由来DH
接下来我们分析DH加密算法,一种适基于密钥一致协议的加密算法。 DH Diffie-Hellman算法(D-H算法),密钥一致协议。是由公开密钥密码体制的奠基人Diffie和Hellman所提出的一种思想。简单的说就是允许两名用户在公开媒体上交换信息以生成"一致"的、可以共享的密钥。换句话说,就是由甲方产出一对密钥(公钥、私钥),乙方依照甲方公钥产生乙方密钥对(公钥、私钥)。以此为基线,作转载 2015-10-21 10:57:07 · 349 阅读 · 0 评论 -
Java加密技术(二)——对称加密算法DES&AES
接下来我们介绍对称加密算法,最常用的莫过于DES数据加密算法。 DES DES-Data Encryption Standard,即数据加密算法。是IBM公司于1975年研究成功并公开发表的。DES算法的入口参数有三个:Key、Data、Mode。其中Key为8个字节共64位,是DES算法的工作密钥;Data也为8个字节64位,是要被加密或被解密的数据;Mode为DES的工作方式,有两种:转载 2015-10-21 09:52:52 · 314 阅读 · 0 评论 -
3、Java安全之证书
生成证书 证书是服务器端和客户端安全通信的凭证,本教程用了JDK自带的证书生成工具keytool。当然在实际项目中你可以到专门的证书认证中心购买证书。中文官方网站:http://www.verisign.com/cn/ 1、用JDK自带的keytool生成证书转载 2015-10-21 09:42:45 · 672 阅读 · 0 评论 -
Java加密技术(十)——双向认证
对于双向认证,做一个简单的描述。 服务器端下发证书,客户端接受证书。证书带有公钥信息,用于验证服务器端、对数据加密/解密,起到OSI五类服务的认证(鉴别)服务和保密性服务。 这只是单向认证,为什么?因为客户端可以验证服务器端,但服务器端不能验证客户端! 如果客户端也有这样一个证书,服务器端也就能够验证客户端,这就是双向认证了! 换言之,当你用银行的“U盾”之类的U盘与银行账转载 2015-10-21 14:02:49 · 14248 阅读 · 0 评论 -
Java加密技术(四)——非对称加密算法RSA
接下来我们介绍典型的非对称加密算法——RSA RSA 这种算法1978年就出现了,它是第一个既能用于数据加密也能用于数字签名的算法。它易于理解和操作,也很流行。算法的名字以发明者的名字命名:Ron Rivest, AdiShamir 和Leonard Adleman。 这种加密算法的特点主要是密钥的变化,上文我们看到DES只有一个密钥。相当于只有一把钥匙,如果这把钥转载 2015-10-21 10:09:56 · 367 阅读 · 0 评论 -
Java加密技术(一)——BASE64与单向加密算法MD5&SHA&MAC
加密解密,曾经是我一个毕业设计的重要组件。在工作了多年以后回想当时那个加密、解密算法,实在是太单纯了。 言归正传,这里我们主要描述Java已经实现的一些加密解密算法,最后介绍数字证书。 如基本的单向加密算法: BASE64 严格地说,属于编码格式,而非加密算法MD5(Message Digest algorithm 5,信息摘要算法)SHA(Secure Hash转载 2015-10-21 09:44:48 · 326 阅读 · 0 评论 -
Java加密技术(三)——PBE算法
除了DES,我们还知道有DESede(TripleDES,就是3DES)、AES、Blowfish、RC2、RC4(ARCFOUR)等多种对称加密方式,其实现方式大同小异,这里介绍对称加密的另一个算法——PBE PBE PBE——Password-based encryption(基于密码加密)。其特点在于口令由用户自己掌管,不借助任何物理媒体;采用随机数(这里我们叫做盐)杂凑转载 2015-10-21 10:08:31 · 282 阅读 · 0 评论 -
Java加密技术(九)——单向认证
在Java 加密技术( 八)中,我们使用自签名证书完成了认证。接下来,我们使用第三方CA签名机构完成证书签名。 这里我们使用thawte提供的测试用21天免费ca证书。 1.要在该网站上注明你的域名,这里使用www.zlex.org作为测试用域名(请勿使用该域名作为你的域名地址,该域名受法律保护!请使用其他非注册域名!)。 2.如果域名有效,你会收到邮件要求转载 2015-10-21 13:49:13 · 560 阅读 · 0 评论 -
2.Java安全之公钥与私钥-非对称加密
公钥与私钥机制属于非对称加密的范畴,非对称是相对于对称加密而言的,对称加密用于加密与解密的密钥是同一把,而非对称加密则用于加密与解密的密钥不相同,一个公开,称为公钥;一个保密,称为私钥,公钥与私钥必须成对出现,只有是配对的公钥与私钥才能用于加解密。公钥通过非安全通道发放,私钥则由发放者保留,公钥加密的数据,只能使用其配对的私钥对其解密;反之,私钥加密的数据,只可使用公钥对其解密。对称加密出转载 2015-09-28 15:14:19 · 1624 阅读 · 0 评论 -
Java加密技术(七)——数字证书
本篇的主要内容为Java证书体系的实现。 请大家在阅读本篇内容时先阅读 Java加密技术(四),预先了解RSA加密算法。 在构建Java代码实现前,我们需要完成证书的制作。 1.生成keyStroe文件 在命令行下执行以下命令: Shell代码 keytool -genkey -validity 36000 -alias www.zlex.or转载 2015-10-21 11:15:26 · 766 阅读 · 0 评论