在登陆的时候需要对账号密码进行加密,于是就使用了MD5来进行加密

创建一个工具类MD5Util

import android.util.Log;import java.security.MessageDigest;public class MD5Util {    private static final String TAG = "MD5Util";    /***     * MD5加码 生成32位md5码     */    public static String string2MD5(String inStr) {        Log.e(TAG, "string2MD5: -------------------------");        MessageDigest md5 = null;        try {            md5 = MessageDigest.getInstance("MD5");        } catch (Exception e) {            System.out.println(e.toString());            e.printStackTrace();            return "";        }        char[] charArray = inStr.toCharArray();        byte[] byteArray = new byte[charArray.length];        for (int i = 0; i < charArray.length; i++)            byteArray[i] = (byte) charArray[i];        byte[] md5Bytes = md5.digest(byteArray);        StringBuffer hexValue = new StringBuffer();        for (int i = 0; i < md5Bytes.length; i++) {            int val = ((int) md5Bytes[i]) & 0xff;            if (val < 16)                hexValue.append("0");            hexValue.append(Integer.toHexString(val));        }        return hexValue.toString();    }    /**     * 加密解密算法 执行一次加密,两次解密     */    public static String convertMD5(String inStr) {        Log.e(TAG, "convertMD5: ----------------------------------------------------------");        char[] a = inStr.toCharArray();        for (int i = 0; i < a.length; i++) {            a[i] = (char) (a[i] ^ 't');        }        String s = new String(a);        return s;    }    //encrypt译成密码    public String encrypt(String str) {        // MD5        String s1 = string2MD5(str);        //加密        //String s1 = MD5(str);        String s = new String(str);        Log.e(TAG, "show: ------------原始:" + s);        Log.e(TAG, "show: ------------MD5后:" + string2MD5(s));        Log.e(TAG, "show: ------------加密的:" + convertMD5(s));        Log.e(TAG, "show: ------------解密的:" + convertMD5(convertMD5(s)));        // return convertMD5(convertMD5(s));//        return convertMD5(s);        return string2MD5(s);    }    public String decode(String jiemi) {        Log.e(TAG,"这是解密--------------*****---------"+ convertMD5(jiemi));        return convertMD5(jiemi);    }    public static String MD5(String sourceStr) {        try {            // 获得MD5摘要算法的 MessageDigest对象            MessageDigest mdInst = MessageDigest.getInstance("MD5");            // 使用指定的字节更新摘要            mdInst.update(sourceStr.getBytes());            // 获得密文            byte[] md = mdInst.digest();            // 把密文转换成十六进制的字符串形式            StringBuffer buf = new StringBuffer();            for (int i = 0; i < md.length; i++) {                int tmp = md[i];                if (tmp < 0)                    tmp += 256;                if (tmp < 16)                    buf.append("0");                buf.append(Integer.toHexString(tmp));            }            //return buf.toString().substring(8, 24);// 16位加密            return buf.toString();        } catch (Exception e) {            e.printStackTrace();            return null;        }    }

在需要加密的地方使用
例如 String passwordMD5 = md5Util.encrypt(“需要加密的字符串”);
输出的passwordMD5就是已经加密好的了

版权声明:本文为CSDN博主「一点一滴的积累」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_31939617/article/details/80728459

更多相关文章

  1. Android HMAC_SHA1 算法简单实现
  2. Android EditText插入字符串到光标所在位置和删除
  3. Android将获取到文件的uri转换为字符串的路径
  4. Android 创建一个包含星期的格式字符串
  5. Android源码快速查找文件、搜索字符串和编译
  6. Android G726语音编解码库+除燥音算法
  7. android上传图片以及POST字符串
  8. 火星坐标系 (GCJ-02) 与百度坐标系 (BD-09) 的转换算法(android)
  9. android NV21裁剪算法

随机推荐

  1. 周杰伦新歌《说好不哭》深夜上线挤崩QQ音
  2. 承认吧,程序员就是比你有钱,又比你会过日子
  3. Java程序员必备基础:Object的十二个知识点
  4. Steam将上架KFC恋爱模拟器,你要和肯德基老
  5. 聊聊如何从程序员晋升为管理者(我的肺腑之
  6. 「什么值得买」网站挂了,疑程序员删库跑路
  7. MySQL也要删“blacklist”,万万没想到技术
  8. JAVA程序一次句柄泄露问题分析
  9. 微信转账后被拉黑该如何追回?官方这些隐藏
  10. 一大波开发者福利!谷歌宣布在中国正式推出