文章摘要:java可逆加密算法有哪些 java可逆加密方式
java中的可逆加密算法有:1.DES算法,适用于计算机系统的商用密码;2.RSA算法,使用不同的加密与解密密 […]
java中的可逆加密算法有:1.DES算法,适用于计算机系统的商用密码;2.RSA算法,使用不同的加密与解密密钥;3.AES算法,基于排列和置换运算实现;4.IDEA算法,数据块加密算法;
java中的可逆加密算法有以下几种
1.DES算法
DES算法是适用于计算机系统的商用密码,为一个分组加密算法,它以64位为分组对数据加密,64位一组的明文从算法的一端输入,64位的密文从另一段输出;且是一个对称算法,加密和解密用的是同一个算法;其密钥通常表示为64位的数,但每个第8位都用作奇偶校验,可以忽略,所以密钥长度为56位,其密钥可以是任意的56位的数,且可在任意的时候改变;DES算法是基于混乱和扩散两个基本技术实现的,即先代替后置换,它基于密钥作用于明文,DES在明文分组上实施16轮相同的组合技术。
2.RSA算法
RSA算法是一种使用不同的加密与解密密钥,是由已知加密密钥推导出解密密钥在计算上是不可行的密码体制,其原理是根据数论,寻求两个大素数比较简单,而将它们的乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥,但RSA算法加密速度慢,一般常用于短数据加密。
3.AES算法
AES算法是基于排列和置换运算实现的,排列是对数据重新进行安排,置换是将一个数据单元替换为另一个,AES是一个迭代的、对称密钥分组的密码,是使用相同的密钥进行加密和解密数据的。
4.IDEA算法
IDEA算法是一个由迭代的分组密码实现的数据块加密算法,是国际数据加密算法,使用了128位的密钥和8个循环,且以以每64bit为单位进行加密。