一、 Base64编码
(一)、要点
- 可对传输中的数据进行简单处理,使之不易被辨认
- Base64并不是一种加密算法,它只是一种编码方式
(二)、核心代码
1.编码
//Base64编码,第一个参数表示要编码的字符串
//第二个参数表示编码后字符串的格式等属性全部采用默认值
String s = Base64.encodeToString(srcStr.getBytes("UTF-8"), Base64.DEFAULT);
2.解码
//Base64解码
//第一个参数表示要解码的字符串
byte[] decode = Base64.decode(s, Base64.DEFAULT);
二、 MD5消息摘要
介绍:在平时开发过程中,MD5加密是一个比较常用的算法,最常见的使用场景就是在帐号注册时,用户输入的密码经md5加密后,传输至服务器保存起来.
数字签名也是MD5的另一个使用场景.
(一)、要点
1.使用MD5加密可以保证数据的完整性
2.不管多长的数据都可以生产固定长度的消息摘要
3.不可逆,不可以由消息摘要推出数据正文
4.MD5一般可以用在密码加密处理上
(二)、核心代码
生成消息摘要:
//创建消息摘要实例,MD5表示生成消息摘要的算法名称
MessageDigest messageDigest = MessageDigest.getInstance("md5");
byte[] digest = messageDigest.digest(srcEt.getText().toString().getBytes("UTF-8"));
//用16进制显示生成的消息摘要
StringBuffer result = new StringBuffer();
for (byte b : digest) {
result.append(String.format("%02x", b));
}
showMd5.setText(result.toString());
三、 对称加密
(一)、要点
1.加密和解密的密钥相同,解密只是加密的逆运算
2.常用的对称加密算法有DES,3DES,AES三种,这三种加密算法对应的密钥长度分别是8位、24位以及32位
(二)、核心代码
1.DES加/解密
/**
* @param src 要加密/解密的字符串
* @param key 密钥
* @