Android对敏感数据进行MD5加密(基础回顾)

Posted VIJOZ的程序世界

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android对敏感数据进行MD5加密(基础回顾)相关的知识,希望对你有一定的参考价值。

1、在工具类的包下新建一个进行md5加密的工具类MD5Utils.java

 1 package com.example.mobilesafe.utils;                    
 2 import java.security.MessageDigest;                    
 3 import java.security.NoSuchAlgorithmException;                    
 4 public class MD5Utils {                    
 5 /**                    
 6 * md5加密方法                    
 7 * @param password                    
 8 * @return                    
 9 */                    
10 public static String md5Password(String password){                    
11 try {                    
12 //得到一个信息摘要器                    
13 MessageDigest digest = MessageDigest.getInstance("md5");                    
14 byte[] result = digest.digest(password.getBytes());                    
15 StringBuffer buffer = new StringBuffer();                    
16 //要把每一个byte做一个与运算0xff,0xff是十六进制,十进制为255                    
17 for(byte b:result){                    
18 //与运算                    
19 int number = b & 0xff;                    
20 String str = Integer.toHexString(number);                    
21 //    System.out.println(str);                
22 //如果位数不够前面加个零                    
23 if(str.length()==1){                    
24 buffer.append("0");                    
25 }                    
26 buffer.append(str);                    
27 }                    
28 //标准的md5加密后的结果                    
29 return buffer.toString();                    
30 } catch (NoSuchAlgorithmException e) {                    
31 // TODO Auto-generated catch block                    
32 e.printStackTrace();                    
33 return "";                    
34 }                    
35 }                    
36 }                    

2、在HomeActivity.java中对用SharedPreferences保存的密码数据进行调用加密

 1 一处改动为第一次设置密码时把密码保存到文件中时进行md5加密:        
 2 if(password.equals(password_confirm)){        
 3 //一致的话,就保存密码,把对话框消掉,还要进入手机防盗页面        
 4 Editor editor = sp.edit();        
 5 editor.putString("password", MD5Utils.md5Password(password));        
 6 editor.commit();        
 7 dialog.dismiss();        
 8 Log.i(TAG, "一致的话,就保存密码,把对话框消掉,还要进入手机防盗页面");        
 9 }        
10         
11 另一处为判断从文件中读取的MD5加密后的数据和当前输入的数据md5加密后是否一样        
12 if(MD5Utils.md5Password(password).equals(savePassword)){        
13 //输入的密码是我之前设置的密码        
14 //把对话框消掉,进入主页面        
15 dialog.dismiss();        
16 Log.i(TAG, "把对话框消掉,进入主页面");        
17 }        

以上是关于Android对敏感数据进行MD5加密(基础回顾)的主要内容,如果未能解决你的问题,请参考以下文章

C# MD5“敏感信息“ 数据库用户密码 的加密

C# MD5“敏感信息“ 数据库用户密码 的加密

Java使用MD5加盐对密码进行加密处理,附注册和登录加密解密处理

day19_MD5加密_Apache DBUtils_监听器 知识回顾

JAVA数据加密

JAVA数据加密