Android中MD5加密

Android中MD5加密,第1张

概述MD5是不可逆的加密算法,也就是无法解密,主要用于客户端的用户密码加密。无论原始字符串是什么,MD5加密串都是32位的十六进制字符串。MD5较容易破解,所以我们一般使用加盐方式多层进行加密 *** 作。MD5加密算法工具类如下。publicclassMD5Util{publicstaticStringencrypt(

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加密所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1030788.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存