各种算法的区别

关于MD5,SHA,RSA,DES3,AES,BASE64算法的区别

哈希函数:MD5,SHA 是没有密钥的,相当与指纹的概念,因此也是不可逆的。

md5是128位的,SHA有不同的算法,有128,256等位。。。如SHA-256,SHA-384。

然后 就是 Base64,这更加不属于加密算法的范围了,它只是将byte[]数组进行了转换,为什么要转换呢?就是因为很多加密后的密文后者一些特殊的 byte[]数组需要显示出来,或者需要进行传递(电子邮件),但是直接转换就会导致很多不可显示的字符,会丢失一些信息,因此就转换位Base64编 码,这些都是可显示的字符。所以转换后,长度会增加。它是可逆的。

再就是 3DES,DES 这才是加密算法,因此也是可逆的,加解密需要密钥,也就是你说的key
最后是 RSA ,这是公钥密码,也就是加密和解密密钥不同,也是可逆的。

 

RSA的密钥很长,速度慢,不适合加密大量数据,一般用于传递密钥;
哈希函数相当与个指纹的概念,就是不同的字符串,对象的哈希值不一样,但是不可逆。。

 

 

.

你可能感兴趣的:(算法)