只要涉及的知识点:
MessageDigest:主要是用于处理数据
MessageDigest.getInstance(“SHA/MD5”);:主要作用是返回指定的算法MessageDigest对象
MessageDigest.update(byte[] input):使用指定的 byte 数组更新摘要。
byte[] raw = MessageDigest.digest();通过执行诸如填充之类的最终操作完成哈希计算。在调用此方法之后,摘要被重置。
SHA加密:
public static String encode(CharSequence rawPassword) {//加密
MessageDigest md = null;
try {
md = MessageDigest.getInstance("SHA"); //指定的算法
md.update(rawPassword.toString().getBytes("UTF-8")); //处理数据
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
if (null == md) {
return null;
}
byte[] raw = md.digest(); //更新摘要
String hash = Base64.encode(raw); //用Base64加密
return hash;
}