Android对敏感数据进行MD5加密(基础回顾)
1、在工具类的包下新建一个进行md5加密的工具类MD5Utils.java
package com.example.mobilesafe.utils;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public class MD5Utils {
/**
* md5加密方法
* @param password
* @return
*/
public static String md5Password(String password){
try {
//得到一个信息摘要器
MessageDigest digest = MessageDigest.getInstance("md5");
byte[] result = digest.digest(password.getBytes());
StringBuffer buffer = new StringBuffer();
//要把每一个byte做一个与运算0xff,0xff是十六进制,十进制为255
for(byte b:result){
//与运算
int number = b & 0xff;
String str = Integer.toHexString(number);
// System.out.println(str);
//如果位数不够前面加个零
if(str.length()==1){
buffer.append("0");
}
buffer.append(str);
}
//标准的md5加密后的结果
return buffer.toString();
} catch (NoSuchAlgorithmException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return "";
}
}
}
2、在HomeActivity.java中对用SharedPreferences保存的密码数据进行调用加密
一处改动为第一次设置密码时把密码保存到文件中时进行md5加密:
if(password.equals(password_confirm)){
//一致的话,就保存密码,把对话框消掉,还要进入手机防盗页面
Editor editor = sp.edit();
editor.putString("password", MD5Utils.md5Password(password));
editor.commit();
dialog.dismiss();
Log.i(TAG, "一致的话,就保存密码,把对话框消掉,还要进入手机防盗页面");
} 另一处为判断从文件中读取的MD5加密后的数据和当前输入的数据md5加密后是否一样
if(MD5Utils.md5Password(password).equals(savePassword)){
//输入的密码是我之前设置的密码
//把对话框消掉,进入主页面
dialog.dismiss();
Log.i(TAG, "把对话框消掉,进入主页面");
}
Android对敏感数据进行MD5加密(基础回顾)的更多相关文章
- 四、Android学习第四天——JAVA基础回顾(转)
(转自:http://wenku.baidu.com/view/af39b3164431b90d6c85c72f.html) 四.Android学习第四天——JAVA基础回顾 这才学习Android的 ...
- Android和IOS等效MD5加密
最近在Android和IOS上都需要对用户的某些输入进行简单的加密,于是采用MD5加密方式. 首先将目的字符串加密一次,获得32位字符串 然后将32位字符串拆为2段,分别加密1次 最后将加密后的2段拼 ...
- android HTTP发送及MD5加密收集
发送部分: public void MyFunction{ HttpClient httpclient = new DefaultHttpClient(); //你的URL HttpPost http ...
- [Android]对字符串进行MD5加密
/** * 将字符串转成MD5值 * * @param string * @return */ public static String stringToMD5(String string) { by ...
- Android数据加密之MD5加密
前言: 项目中无论是密码的存储或者说判断文件是否是同一文件,都会用到MD5算法,今天来总结一下MD5加密算法. 什么是MD5加密? MD5英文全称“Message-Digest Algorithm 5 ...
- android md5加密与rsa加解密实现代码
import java.io.UnsupportedEncodingException;import java.security.MessageDigest;import java.security. ...
- android环境下两种md5加密方式
在平时开发过程中,MD5加密是一个比较常用的算法,最常见的使用场景就是在帐号注册时,用户输入的密码经md5加密后,传输至服务器保存起来.虽然md5加密经常用,但是md5的加密原理我还真说不上来,对md ...
- Android DES AES MD5加密
AES加密: <span style="font-size:18px;">package com.example.encrypdate.util; import jav ...
- wemall app商城源码android开发MD5加密工具类
wemall-mobile是基于WeMall的android app商城,只需要在原商城目录下上传接口文件即可完成服务端的配置,客户端可定制修改.本文分享android开发MD5加密工具类主要代码,供 ...
随机推荐
- Android-进程理解/进程的优先级别
进程理解 Android系统最小的控制单元是:进程 process 应用/CPU最小的控制单元是:线程 thread 一个应用一个 process 进程 一个应用一个 package(包是唯一的) 一 ...
- Jenkins的多个任务并串联参数传递
Jenkins的多个任务并串联参数传递 Parameterized Trigger Plugin插件可以使多个job连接的时候可以传递一些job相关的参数信息. 1.Parameterized Tri ...
- c# 检查报错详细
catch (DbEntityValidationException error) { string test = string.Empty; foreach (var validationError ...
- 记在WEBAPI中AutoMapper的初使用方法
很早就听说AutoMapper了.这些天一直在写api接口,发现之前的类型转换有点问题,就想到了用AutoMapper.用作DTO转换工具. 废话不多说,直接开些代码 首先 在Vs中找到 工具--- ...
- ASP.NET 生成缩略图片类分享
/// <summary> /// 生成图片缩略图 指定文件路径生成 /// </summary> public static void SaveImage(String fu ...
- SQL Union 和Union All 的区别
Union与Union All的区别 如果我们需要将两个select语句的结果作为一个整体显示出来,我们就需要用到union或者union all关键字.union(或称为联合)的作用是将多个结果合并 ...
- insert into 的另一种添加插入新行方式
语法 1 插入一行 insert into table (field1,field2.....) select value1,value2........; 2 插入多行 insert into ta ...
- sharepoint 2007 update sharepoint 2013 found old privillege not availabel
我们下面提及的升级方式是: 2007 > 2010 > 2013 > 2013: classic authentication à claims based authenticati ...
- sqlite 插入数据 too many variables
相关文档:http://www.sqlite.org/limits.html#max_variable_number 一次插入条数限制500,参数最多999个.
- Hibernate 框架学习
什么是hibernate框架? 1.它是应用在javaee 三层架构中的dao层 它的底层就是JDBC 它对JDBC进行了封装,好处就是不用写jdbc的代码,和sql语句,它是一个开源的轻量级框架,现 ...