首页 / ANDROID / Android中MD5加密
Android中MD5加密
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Android中MD5加密,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1452字,纯文字阅读大概需要3分钟。
内容图文
![Android中MD5加密](/upload/InfoBanner/zyjiaocheng/1032/78bae93da01e401a8bfdd9e9b8fc3765.jpg)
MD5是不可逆的加密算法,也就是无法解密,主要用于客户端的用户密码加密。无论原始字符串是什么,MD5加密串都是32位的十六进制字符串。MD5较容易破解,所以我们一般使用加盐方式多层进行加密操作。
MD5加密算法工具类如下。
public class MD5Util {
public static String encrypt(String raw) {
String md5Str = raw;
try {
MessageDigest md = MessageDigest.getInstance("MD5"); // 创建一个MD5算法对象
md.update(raw.getBytes()); // 给算法对象加载待加密的原始数据
byte[] encryContext = md.digest(); // 调用digest方法完成哈希计算
int i;
StringBuffer buf = new StringBuffer("");
for (int offset = 0; offset < encryContext.length; offset++) {
i = encryContext[offset];
if (i < 0) {
i += 256;
}
if (i < 16) {
buf.append("0");
}
buf.append(Integer.toHexString(i)); // 把字节数组逐位转换为十六进制数
}
md5Str = buf.toString(); // 拼装加密字符串
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
return md5Str.toUpperCase(); // 输出大写的加密串
}
}
多层加密算法是这样的。假设我们加密字符串是String a;我们有三个盐,分别是String x,String y,String z。我们先让a字符串拼接上x,进行一次MD5加密;在加密后的字符串上加上y,再进行一次MD5加密;最后在第二次加密后的字符串上拼接上z,再进行一次MD5加密。这样就算被破译了一次,对方不知道我们的x,y,z分别是什么,并且三个值同时作用,可能的情况也会呈几何倍数增加,所以安全度会大大提高。同样的,我们可以使用动态附加传的方式,让x,y,z由后台提供,则可以更好的加大安全度。该方法也可以用于之后讲到的一些可解密的加密算法。之后不再赘述。大家可以参考这里的内容进行应用。
内容总结
以上是互联网集市为您收集整理的Android中MD5加密全部内容,希望文章能够帮你解决Android中MD5加密所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。