提交 324f354e 编写于 作者: B blankj

add encrypt

上级 48216d0a
......@@ -51,8 +51,10 @@
- 切换键盘显示与否状态
- [正则相关](https://github.com/Blankj/AndroidUtilCode/blob/master/about_regular.md)
- 正则工具类
- [加解密相关](https://github.com/Blankj/AndroidUtilCode/blob/master/about_encrypt.md)
- MD5加密
- SHA加密
- [未归类](https://github.com/Blankj/AndroidUtilCode/blob/master/unclassified.md)
- 获取服务是否开启
- MD5加密
期待你的Star和完善...
\ No newline at end of file
# 加解密相关
### MD5加密
``` java
/**
* MD5加密
*/
public static String encryptMD5(String data) throws Exception {
MessageDigest md5 = MessageDigest.getInstance("MD5");
return new BigInteger(md5.digest(data.getBytes())).toString(16);
}
```
### SHA加密
```
/**
* SHA加密
*/
public static String encryptSHA(String data) throws Exception {
MessageDigest sha = MessageDigest.getInstance("SHA");
return new BigInteger(sha.digest(data.getBytes())).toString(32);
}
```
......@@ -23,41 +23,3 @@ public static boolean isRunningService(String className, Context context) {
return false;
}
```
### MD5加密
``` java
/**
* MD5加密
*/
public static String passwordMD5(String password) {
StringBuilder sb = new StringBuilder();
try {
//1.获取数据摘要器
//arg0 : 加密的方式
MessageDigest messageDigest = MessageDigest.getInstance("MD5");
//2.将一个byte数组进行加密,返回的是一个加密过的byte数组,二进制的哈希计算,md5加密的第一步
byte[] digest = messageDigest.digest(password.getBytes());
//3.遍历byte数组
for (int i = 0; i < digest.length; i++) {
//4.MD5加密
//byte值 -128-127
int result = digest[i] & 0xff;
//将得到int类型转化成16进制字符串
//String hexString = Integer.toHexString(result)+1;//不规则加密,加盐
String hexString = Integer.toHexString(result);
if (hexString.length() < 2) {
// System.out.print("0");
sb.append("0");
}
//System.out.println(hexString);
//e10adc3949ba59abbe56e057f20f883e
sb.append(hexString);
}
return sb.toString();
} catch (NoSuchAlgorithmException e) {
//找不到加密方式的异常
e.printStackTrace();
}
return null;
}
```
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册