Bouncy Castle 是一种用于 Java 平台的开放源码的轻量级密码术包。它支持大量的密码术算法,并提供 JCE 1.2.1 的实现。因为 Bouncy Castle 被设计成轻量级的,所以从 J2SE 1.4 到 J2ME(包括 MIDP)平台,它都可以运行。它是在 MIDP 上运行的唯一
分类:
编程语言 时间:
2016-02-03 09:46:18
阅读次数:
212
注意:本节内容主要参考自《Java加密与解密的艺术(第2版)》第8章“高等加密算法--非对称加密算法”12.1、RSA(最经典的非对称加密算法)特点:使用一套密钥即可完成加解密(与DH不同)与DH不同的第二点是,RSA自己可以完成加解密,而DH需要依赖于对称加密算法“私钥加密,公钥解密”或“公钥加密...
分类:
编程语言 时间:
2015-12-30 19:34:35
阅读次数:
194
注意:本节内容主要参考自《Java加密与解密的艺术(第2版)》第7章“初等加密算法--对称加密算法”9.1、IDEA特点:先于AES出来取代DES安全性极高常用于电子邮件加密算法9.2、实现方式Bouncy Castle(BC,工作模式只有ECB,密钥长度为128位)9.2.1、基于BC实现的IDE...
分类:
编程语言 时间:
2015-12-29 22:29:04
阅读次数:
230
6.1、MD5推荐使用CC(即Commons Codec)实现虽然已被破解,但是仍旧广泛用于注册登录模块与验证下载的文件的完整性可以自己写一个注册登录模块;自己下载一个MD5加密的文件,然后通过之前编写的工具类(或者使用CC的方法)进行验证(具体的例子在《Java加密与解密艺术(第二版)中有》)6....
分类:
编程语言 时间:
2015-12-29 14:29:26
阅读次数:
148
注意:本节内容主要参考自《Java加密与解密的艺术(第2版)》第6章“验证数据完整性--消息摘要算法”4.1、SHA原理:消息摘要长度(可以定量为加密后的字符串的长度)越长,安全性越高MD5:128位二进制摘要(32位16进制字符串)(已破解)SHA1:160位二进制摘要(40位16进制字符串)(已...
分类:
编程语言 时间:
2015-12-28 23:36:01
阅读次数:
223
注意:本节内容主要参考自《Java加密与解密的艺术(第2版)》第6章“验证数据完整性--消息摘要算法”3.1、消息摘要算法:防止消息在传递过程中被篡改。原理:任何消息经过消息摘要算法后,都会产生唯一的散列值(即“数据指纹”)(同一段消息无论经过多少次相同的消息摘要算法加密,结果都相同),所以如果消息...
分类:
编程语言 时间:
2015-12-28 23:26:13
阅读次数:
235
Java加密,是以某种特殊的算法改变原有的信息数据,使得未授权的用户即使获得了已加密的信息,但因不知解密的方法,仍然无法了解信息的内容。大体上分为双向加密和单向加密,而双向加密又分为对称加密和非对称加密(有些资料将加密直接分为对称加密和非对称加密)。双向加密大体意思就是明文加密后形成密文,可以通过算...
分类:
其他好文 时间:
2015-12-06 20:50:36
阅读次数:
971
一、古罗马皇帝凯撒在打仗时曾经使用过以下方法加密军事情报: 请编写一个程序,使用上述算法加密或解密用户输入的英文字串。程序设计思想:首先用户输入需要加密的字符串,然后定义函数获得字符串长度,通过for循环将字符串转化为单个字符,每个字符“+3”,向后移3个,每个字符“-3”,向前移3个,定义str2...
分类:
编程语言 时间:
2015-10-24 15:46:51
阅读次数:
212
【前言】计算机中的数据都是二进制的,不管是字符串还是文件,而加密后的也是二进制的,而我们要看到的往往是字符串,本文就介绍了将byte[]转为各种进制以及base64编码。【base64】是一种编码方式,可以理解为复杂的进制,很多算法加密后输出的都是byte[],而这个byte[]对我们显示的形式是不...
分类:
编程语言 时间:
2015-10-22 23:47:37
阅读次数:
355
秘钥 Key,分为对称密钥和非对称密钥 对称秘钥? SecretKey,由KeyGenerator生成 非对 PrivateKey,PublicKey,由KeyPairGenerator生成 KeyFactory(SecretKeyFactory)也可生成秘钥,可以将秘钥转换为外部表示如字...
分类:
编程语言 时间:
2015-09-14 17:02:54
阅读次数:
260