zoukankan      html  css  js  c++  java
  • 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 }        
  • 相关阅读:
    VS2010之– Web Development(四)-将WebApplication打包发布到IIS
    .NET中TextBox控件设置ReadOnly=true后台取不到值三种解决方法
    jQuery 二级联动
    ajax实现无刷新两级联动DropDownList
    CheckStyle
    《Thinking in Java》学习笔记(三)
    Java垃圾回收机制[转]
    《Thinking in Java》学习笔记(二)
    MySQL操作的一些优化
    《Thinking in Java》学习笔记(一)
  • 原文地址:https://www.cnblogs.com/vijozsoft/p/5631382.html
Copyright © 2011-2022 走看看