1、base64加密:防止在http传输过程中肉眼看到传输数据
2、md5加密:防止发送的消息被篡改 ===不需要密钥
①用MessageDigest信息摘要器获取MD5实例
②调用digest方法获取字节数组
③将每一个字节与OXFF做&运算再转换为16机制
④将得到的每一个结果进行字符拼接得到加密后的字符串
3、DES加密:保存数据加密使用 ====加密和解密的密钥相同密钥长度64位
<1>加密
①实例化Cipher对象
②cipher.init(加密模式,密钥,随机密钥)初始化Cipher对象,设置为加密模式
③cipher.doFinal(要加密的字节)
④用base64编码,返回加密后的字符串
<2>解密
①Cipher.getInstance()获取cipher实例
② cipher.init(解密模式, 密钥);初始化cipher对象
③Base64.decodeBase64(加密数据)解码
④cipher.doFinal(解码后的加密数据)解密
4、3DES加密: =====168位密钥,3个密钥
其具体实现如下:设Ek()和Dk()代表DES算法的加密和解密过程,K代表DES算法使用的密钥,P代表明文,C代表密文,这样:
3DES加密过程为:C=Ek3(Dk2(Ek1(P)))
3DES解密过程为:P=Dk1(EK2(Dk3(C)))
5、AES加密:和DES加密相同,密钥长度对少为128位
6、RSA加密:同时用于加密和数字签名
概念:数字签名是为了确保发送的信息没有被伪造,确实是我发出的。
公钥加密,私钥解密
私钥签名,公钥验证