RSA是一种非对称加密算法,适应RSA前先生成一对公钥和私钥. 使用公钥加密的数据可以用私钥解密,同样私钥加密的数据也可以用公钥解密, 不同之处在于,私钥加密数据的同事还可以生成一组签名,签名是用来验证数据是否在传输过程中有变动的,使用公钥.签名.以及公钥加密后的数据,就可以验证是否有变动,当然也可以不验证. 代码示例如下,两个main方法:main和main1.加密解密都是针对byte数组的,考虑到我们实际使用的时候大部分场景应该是用字符串来传递数据,所以演示代码中频繁的将byte数组转化为字…
一.背景 据记载,公元前 400 年,古希腊人发明了置换密码.1881 年世界上的第一个电话保密专利出现.在第二次世界大战期间,德国军方启用「恩尼格玛」密码机,密码学在战争中起着非常重要的作用. 随着信息化和数字化社会的发展,人们对信息安全和保密的重要性认识不断提高,于是在 1997 年,美国国家标准局公布实施了「美国数据加密标准(DES)」,民间力量开始全面介入密码学的研究和应用中,采用的加密算法有 DES.RSA.SHA 等.随着对加密强度需求的不断提高,近期又出现了 AES.ECC 等.…
最近因为要做一个加密的功能,简单了解了一下加密算法,现在比较常用的有三个加密算法MD5加密算法.RSA加密算法.DES加密算法.       MD5加密算法     定义:MD5算法是将任意长度的“字节串”变换成一个128bit的大整数,并且它是一个不可逆的字符串变换算法,即使你看到源程序和算法描述,也无法将MD5的值变回原始的字符串.     应用:在有些操作系统中,用户的密码是以MD5的方式保存的,用户登录时,系统吧用户输入的密码计算成MD5中,然后和数据库中保存的MD5值进行比较,如果相同…
MD5的全称是Message-Digest Algorithm 5,在90年代初由MIT的计算机科学实验室和RSA Data Security Inc发明,经MD2.MD3和MD4发展而来.    MD5将任意长度的“字节串”变换成一个128bit的大整数,并且它是一个不可逆的字符串变换算法,换句话说就是,即使你看到源程序和算法描述,也无法将一个MD5的值变换回原始的字符串,从数学原理上说,是因为原始的字符串有无穷多个,这有点象不存在反函数的数学函数. MD5的典型应用是对一段Message(字…
数据加密的基本过程就是对原来为明文的文件或数据按某种算法进行处理,使其成为不可读的一段代码,通常称为[密文],使其只能在输入相应的[密钥]之后才能显示出本来内容,通过这样的途径来达到保护数据不被非法人窃取.阅读的目的.该过程的逆过程为解密,即将该编码信息转化为其原来数据的过程. 加密算法的分类 加密算法通常分为对称性加密算法和非对称性加密算法 1.对称加密算法:信息接收双方都需事先知道密匙和加解密算法且其密匙是相同的,之后便是对数据进行加解密了. DES:DES是一种分组数据加密技术(先将数据分…
MD5的全称是Message-Digest Algorithm 5,在90年代初由MIT的计算机科学实验室和RSA Data Security Inc发明,经MD2.MD3和MD4发展而来.     MD5将任意长度的“字节串”变换成一个128bit的大整数,并且它是一个不可逆的字符串变换算法,换句话说就是,即使你看到源程序和算法描述,也无法将一个MD5的值变换回原始的字符串,从数学原理上说,是因为原始的字符串有无穷多个,这有点象不存在反函数的数学函数. MD5的典型应用是对一段Message(…
1.commons-codec使用 commons-codes 常用工具类:DigestUtils,Base64,Hex 1.1 md5 String text = "hello,md5"; DigestUtils.md5Hex(text); 1.2 sha1 String text = "hello,sha1"; DigestUtils.sha1Hex(text); 1.3 base64 用于加密的明文必须是字节数组(byte[]),加解密算法可以返回字节数组(b…
RSA算法运用了数学“两个大的质数相乘,难以在短时间内将其因式分解”的这么一套看似简单事实上真的是很困难的一个数学难题...... 以前也接触过RSA加密算法,感觉这个东西太神秘了,是数学家的事,和我无关.但是,看了很多关于RSA加密算法原理的资料之后,我发现其实原理并不是我们想象中那么复杂,弄懂之后发现原来就只是这样而已..学过算法的朋友都知道,计算机中的算法其实就是数学运算.所以,再讲解RSA加密算法之前,有必要了解一下一些必备的数学知识.我们就从数学知识开始讲解.必备数学知识RSA加密算法…
加密技术通常分为两大类:"对称式"和"非对称式". 对称性加密算法:对称式加密就是加密和解密使用同一个密钥.信息接收双方都需事先知道密匙和加解密算法且其密匙是相同的,之后便是对数据进行加解密了.对称加密算法用来对敏感数据等信息进行加密. 非对称算法:非对称式加密就是加密和解密所使用的不是同一个密钥,通常有两个密钥,称为"公钥"和"私钥",它们两个必需配对使用,否则不能打开加密文件.发送双方A,B事先均生成一堆密匙,然后A将自己…
加密技术通常分为两大类:"对称式"和"非对称式". 对称性加密算法:对称式加密就是加密和解密使用同一个密钥.信息接收双方都需事先知道密匙和加解密算法且其密匙是相同的,之后便是对数据进行加解密了.对称加密算法用来对敏感数据等信息进行加密. 非对称算法:非对称式加密就是加密和解密所使用的不是同一个密钥,通常有两个密钥,称为"公钥"和"私钥",它们两个必需配对使用,否则不能打开加密文件.发送双方A,B事先均生成一堆密匙,然后A将自己…