MD5加密
来源:互联网 发布:知乎南宋行政区划 编辑:程序博客网 时间:2024/06/06 17:43
我们都知道在登录账号密码的时候用户输入的密码一般也就6到8位,很容易被另有目的的黑客盗取,从而造成用户的损失。今天这篇文章讲的是MD5加密。
一.MD5低32位
public static String MD5Low32(String str) {try {MessageDigest md = MessageDigest.getInstance("MD5");try {md.update(str.getBytes("UTF8"));} catch (UnsupportedEncodingException e) {e.printStackTrace();}byte b[] = md.digest();int i;StringBuffer buf = new StringBuffer(200);for (int offset = 0; offset < b.length; offset++) {i = b[offset] & 0xff;if (i < 16)buf.append("0");buf.append(Integer.toHexString(i));}return buf.toString();} catch (NoSuchAlgorithmException e) {Logs.e(e.toString());return null;}}
二.MD5高32位
public static String MD5Up32(String str) {return MD5Low32(str).toUpperCase(Locale.getDefault());}三.MD5高16位
public static String MD5Up16(String str) {return MD5Up32(str).substring(8, 24);}四.MD5低16位
public static String Md5Low16(String str) {return MD5Low32(str).substring(8, 24);}五.项目实战
我将密码变成:(原密码+加密钥匙)先MD5加密得到的值key,再加上"###"再用MD5加密:MD5(key+"###")。
private String getMd5(String pswStr) { String key = Constant.key + pswStr; key = MD5.MD5Low32(key); key = "###" + MD5.MD5Low32(key); try { key = URLEncoder.encode(key, "utf-8");// URL编码 Logs.d(key); // 它是一种编码类型。当URL地址里包含非西欧字符的字符串时,系统会将这些字符转换成application/x-www-form-urlencoded字符串。 } catch (UnsupportedEncodingException e) { e.printStackTrace(); } return key; }String pwStr:输入的原密码。
Constant.key工具类,可以自定义。比如我的就是个字符串:
key = "5tZwmk3TIaJ4ELVHzN";//加密钥匙
阅读全文
0 0
- MD5加密
- MD5加密
- md5加密
- MD5加密
- md5加密
- MD5加密
- MD5加密
- md5 加密
- MD5加密
- md5加密
- MD5加密
- MD5加密
- MD5加密
- MD5加密
- MD5加密
- MD5加密
- MD5加密
- MD5加密
- android.support.constraint.ConstraintLayout
- dedecms安全篇:织梦文件夹目录权限设置
- tushare 学习笔记
- 面向对象编程常见概念
- 给 Android 开发者的 RxJava 详解
- MD5加密
- 机缘巧合让中国智能制造选择并行道路,与德国美国竞争有望弯道超车
- ClassPathResource与PropertiesLoaderUtils
- Linux下安装Zookeeper
- Eclipse打开出错:Java wa started but returned exit code=13
- 86. Partition List
- 网易2017内推笔试1:地牢逃脱 [python]
- Redis 管道技术
- 《Java程序设计》第六章-例题