数据安全
文章平均质量分 85
u010634054
这个作者很懒,什么都没留下…
展开
-
Java密码学(1)——Base64算法
最近想总结一下以前用到的密码学知识用java实现,准备汇总成一个系列初步决定包含以下内容:传输算法Base64验证数据完整性:消息摘要算法对称加密算法非对称加密算法带密钥的消息摘要算法:数字签名算法数字证书安全协议HTTPS热身准备大部分算法可以通过Sun的JDK实现,但有更简单的第三方包可以帮助我们。我采用的是commons-codec,...原创 2014-01-08 15:25:12 · 91 阅读 · 0 评论 -
Java密码学(2)——消息摘要算法
消息摘要算法是为了验证数据的完整性。通过摘要算法可以获得对应的唯一的“消息摘要”或“数字指纹”,但不能通过该“消息摘要”反推出原始值。 3大消息摘要算法:MD算法:MD2、MD4、MD5SHA算法:SHA-1、SHA-224、SHA-256、SHA-384、SHA-512MAC算法:HmacMD5、HmacSHA1、HmacSHA256、HmacSHA384、HmacSHA5...原创 2014-01-09 15:14:39 · 170 阅读 · 0 评论 -
Java密码学(3)——对称加密算法
对称加密算法的加密密钥和解密密钥相同,用密钥对原数据加密得到密文,对密文解密密得到明文,解密算法是加密算法的逆运算。DES是最具代表性的对称加密算法,DESede是DES算法的变种又称3DES。DES算法有ecb和cbc两种模式。 AES算法作为DES的替代,更安全,性能更好。 DES算法模型图如下 这里采用单DES的ECB模式用代码实现 /**...原创 2014-01-11 12:33:40 · 179 阅读 · 0 评论 -
Java密码学(4)——非对称加密算法
对称加密的加密密钥和解密解密密钥一致,即加密和解密用同一个密钥。非对称加密有两个密钥,一个公钥一个私钥,两者成对出现。两者不一样,遵循“公钥加密私钥解密”和“私钥加密公钥解密”的原则。RSA是常用的非对称加密算法。 RSA算法模型如下算法实现 /** * 初始化RSA密钥对 * @return */ public static S...原创 2014-01-11 18:35:40 · 387 阅读 · 0 评论 -
Java密码学(5)——数字签名算法
数字签名算法是一种带有密钥的消息摘要算法,数字签名算法=非对称加密算法+消息摘要算法。数字签名算法能验证数据的完整性、认证数据来源、起到抗否认作用。数字签名算法包含签名和验签两项操作,遵循“私钥签名,公钥验签”的原则。签名时需要私钥和待签名数据,验签时需要公钥、签名值和待签名数据。数字签名算法主要包括RSA、DSA、CDSA。 RSA算法模型分析代码...原创 2014-01-11 21:26:10 · 878 阅读 · 0 评论 -
Java密码学(6)——数字证书
概述消息摘要算法验证数据的完整性,对称加密和非对称加密算法保证了数据的保密性,数字签名算法用于抗否认性服务。数字证书集合了这些知识:自身带有公钥信息,可以完成加解密操作;带有数字签名,可以鉴别消息来源;带有消息摘要信息,可以验证数据的完整性;含有用户身份信息,具有认证性。数字证书需由数字证书颁发认证机构(Certificate Authority,CA)签发。签发过程实际上...原创 2014-01-12 19:57:35 · 931 阅读 · 0 评论 -
Java密码学(7)——安全协议HTTPS
HTTPS协议是网络上最常用的安全协议。HTTPS=HTTP+SSL/TLS。HTTPS分为单向认证和双向认证:单向认证服务:服务端提供服务器证书给客户端,客户端单向认证服务端双向认证服务:服务端提供服务器证书给客户端,客户端提供客户证书。客户端和服务端双向认证。 为tomcat配置单向认证使用KeyTool生成密钥库文件(.keystore)和证书(.cer)。...原创 2014-01-20 16:40:36 · 121 阅读 · 0 评论 -
PKI知识梳理
场景:S要通过Internet发送一份文件给R,这份文件非常重要,不能有丝毫差错,而且不能被别人知道文件的内容。如何安全发送这份文件。 采用对称加密算法加密文件后传输。S用对称密钥加密明文后得到密文,通过Internet发送密文给R,R用对称密钥解密密文,得到想要的明文。这种方式需要R将对称密钥告知S,如果途中被黑客截获了对称密钥,整个过程就不是保密的了。采用非对称加密传输数...原创 2014-03-23 17:16:38 · 154 阅读 · 0 评论 -
java实现SSL
SSL分为单向认证和双向认证。单向认证是客户端信任服务端,双向认证是客户端既要信任服务端而且服务端也要信任客户端。 不管是客户端还是服务端,都要存以下两样keystoreKeyStore:保存自己的公钥和私钥。Trust KeyStore:保存对方的公钥证书。 如果是单向认证,服务器端的KeyStore存储自己的公钥和私钥,客户端的Trust KeyStore要导入服务...原创 2014-03-24 21:55:15 · 169 阅读 · 0 评论