一、加密类型
1、单项加密:用具体的算法对数据进行简单的加密,没有秘钥,用于数据的编码。常用于电子邮件2、对称加密:加密和解密均采用同一秘钥。
3、非对称加密:加密和解密采用不同秘钥,用来加密的称为公钥,解密的称为私钥,公钥和私钥一一对应。
4、单项散列:对信息进行散列计算得到一个字符串,任何修改都会改变改字符串,用来校验数据是否被修改,该字符串不可逆向还原原始数据。
二、单项加密
1、Base64
Base64加密,通常用作存储、传输一些二进制数据。它是用64个可打印字符表示二进制所有数据。Base64共64个字符(ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/),每个字符占6位(前面补2个0),即将3个字节(24位)转为4个字符,加密后的数据量是原来的4/3。
当数据长度不能被3整除的时候:
a、余下1个字节(8位):后面补上4个0,凑成12位,并且编码后的数据补上2个=,最后长度为4(神奇之处)。
比如,"M"这个字母是一个字节,可以转化为二组010011、010000,对应的Base64值分别为T、Q,再补上二个"="号,因此"M"的Base64编码就是TQ==。
b、余下2个字节(16位):后面补上2个0,凑成18为,并且编码后的数据补上1个=,最后长度为4(神奇之处)。
比如,"Ma"这个字符串是两个字节,可以转化成三组00010011、00010110、00010000以后,对应Base64值分别为T、W、E,再补上一个"="号,因此"Ma"的Base64编码就是TWE=。
三、对称加密
1、DES
DES是一个分组加密算法,典型的DES以64位为分组对数据加密,加密和解密用的是同一个算法。
密钥长64位,密钥事实上是56位参与DES运算(第8、16、24、32、40、48、56、64位是校验位,使得每个密钥都有奇数个1),分组后的明文组和56位的密钥按位替代或交换的方法形成密文组。
2、3DES
三重数据加密,作为对DES的扩展,对每个数据块进行3次DES加密,防止暴力破解。
3、AES
近些年DES使用越来越少,原因就在于其使用56位密钥,比较容易被破解,近些年来逐渐被AES替代,AES已经变成目前对称加密中最流行算法之一;AES可以使用128、192、和256位密钥,并且用128位分组加密和解密数据
四、非对称加密
1、RSA
2、DSA
数字签名算法,是一种标准的 DSS(数字签名标准),严格来说不算加密算法。数字签名是用私钥加密然后公钥解密,解决了数据的不可伪造和不可抵赖特性。
3、ECC
椭圆曲线密码编码学
五、单项散列
1、MD5