Android 使用MD5对SharedPreferences密码进行加密
生活随笔
收集整理的這篇文章主要介紹了
Android 使用MD5对SharedPreferences密码进行加密
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
? ??在每個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" ><EditTextandroid:id="@+id/et_password"android:layout_width="match_parent"android:layout_height="wrap_content"android:inputType="textPassword"android:hint="請輸入密碼" /><EditTextandroid: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;@Overrideprotected 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,加密之后的效果
點擊下載源碼
總結
以上是生活随笔為你收集整理的Android 使用MD5对SharedPreferences密码进行加密的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 横店东磁是做什么的
- 下一篇: 魅族18系列什么时候上市发布 Flyme