Android 使用MD5对SharedPreferences密码进行加密
来源:互联网 发布:淘宝上搜索什么有福利 编辑:程序博客网 时间:2024/05/22 13:43
在每个Android软件都会使用到SharedPreferences,将密码保存在本地,但是由于没有对密码进行加密,只要用户对手机进行root,获取了权限就很容易得到密码,为了防止密码外露,每个Android软件都要对SharedPreferences的密码进行加密。
在Android中提供了MD5加密,下面就对MD5加密进行一个测试,先创建一个MD5工具类
MD5Utils.java
package cn.edu.cqu.mobilesafe.utils;import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;public class MD5Utils {public static String md5Password(String password){StringBuffer sb = new StringBuffer();// 得到一个信息摘要器try {MessageDigest digest = MessageDigest.getInstance("md5");byte[] result = digest.digest(password.getBytes());// 把每一个byte做一个与运算 0xfffor (byte b : result) {// 与运算int number = b & 0xff;String str = Integer.toHexString(number);if (str.length() == 1) {sb.append("0");}sb.append(str);}} catch (NoSuchAlgorithmException e) {e.printStackTrace();}return sb.toString();} }在主界面上创建一个输入密码的布局文件
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <EditText android:id="@+id/et_password" android:layout_width="match_parent" android:layout_height="wrap_content" android:inputType="textPassword" android:hint="请输入密码" /> <EditText android:id="@+id/et_confirm_pwd" android:layout_width="match_parent" android:layout_height="wrap_content" android:inputType="textPassword" android:hint="请重新输入密码" /> <Button android:onClick="click" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="确定"/></LinearLayout>
在java文件中实现方法
package com.example.md5test;import android.os.Bundle;import android.app.Activity;import android.content.SharedPreferences;import android.content.SharedPreferences.Editor;import android.text.TextUtils;import android.view.Menu;import android.view.View;import android.widget.EditText;import android.widget.Toast;public class MainActivity extends Activity { private EditText et_password;private EditText et_confirm_pwd;private SharedPreferences sp;@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); et_password = (EditText) findViewById(R.id.et_password); et_confirm_pwd = (EditText) findViewById(R.id.et_confirm_pwd); sp = getSharedPreferences("config", MODE_PRIVATE); } public void click(View v){String password = et_password.getText().toString().trim();String password_confirm = et_confirm_pwd.getText().toString().trim();System.out.println(password +"---"+password_confirm);if (TextUtils.isEmpty(password) || TextUtils.isEmpty(password_confirm)) {Toast.makeText(this, "密码不能为空!", 0).show();return;}else {Editor editor = sp.edit();editor.putString("password", MD5Utils.md5Password(password));editor.commit();Toast.makeText(this, "密码保存成功!", 0).show();}}}输入密码12345,加密之后的效果
点击下载源码
0 0
- Android 使用MD5对SharedPreferences密码进行加密
- Android中使用MD5对密码进行加密
- C#:使用MD5对密码进行加密!
- 使用MD5对密码进行加密
- 使用MD5对密码进行加密
- 使用MD5对明文密码进行加密
- 使用Md5算法对密码进行加密
- 使用md5算法对密码进行加密保存
- 使用MD5对密码进行加密的功能的实现
- java中使用MD5对密码进行加密
- java中使用md5对密码进行加密
- MD5加密!对密码进行MD5加密和验证
- .net对密码进行MD5加密
- 对密码字段进行加密(MD5)
- 用java对密码进行MD5加密
- 用java对密码进行MD5加密
- MD5对密码进行加密处理机制
- 密码进行MD5加密
- [LeetCode][Java] Length of Last Word
- 实时处理日均50亿会话,解析Twitter Answers的架构
- 3D数学 自定义三维向量类进行运算
- hdu 2112 HDU Today
- redis实践
- Android 使用MD5对SharedPreferences密码进行加密
- Java集合类详解
- SQL小结(三)
- Intent组件
- JDK与adb/android环境变量配置完整教程
- 在线接收短信和电话验证平台 收集
- c++ 实现atoi()函数
- 指针的问题3 指针的强制类型转换
- 【独立开发者er Cocos2d-x实战 009】Cocos2dx 菜单项CCMenu使用