深入淺析Android手機(jī)衛(wèi)士保存密碼時進(jìn)行md5加密
推薦閱讀:
淺析Android手機(jī)衛(wèi)士自定義控件的屬性
淺析Android手機(jī)衛(wèi)士關(guān)閉自動更新
詳解Android 手機(jī)衛(wèi)士設(shè)置向?qū)ы撁?/a>
一般的手機(jī)沒有root權(quán)限,進(jìn)不去data/data目錄,當(dāng)手機(jī)刷機(jī)了后,擁有root權(quán)限,就可以進(jìn)入data/data目錄,查看我們保存的密碼文件,因此我們需要對存入的密碼進(jìn)行MD5加密
獲取MessageDigest信息摘要器對象,調(diào)用MessageDigest.getInstance(“md5”),參數(shù):規(guī)則
調(diào)用MessageDigest對象的digest(bytes)方法,得到加密的byte[] 數(shù)組,參數(shù):byte[] 數(shù)組,調(diào)用String對象的getBytes()方法獲取到字節(jié)數(shù)組
用每一個byte去和11111111八個二進(jìn)制位做與運算并且得到的是int類型:byte & 11111111
for(byte b : xxxxx) 循環(huán)中
運行 byte & 0xff得到 int值
調(diào)用Integer.toHexString(number),得到16進(jìn)制并返回String類型
判斷String的長度是1的,在它的前面拼接上0
循環(huán)外面定義一個StringBuffer對象,調(diào)用StringBuffer對象的append()拼接起來字符串
調(diào)用StringBuffer對象的toString()方法,得到加密后的標(biāo)準(zhǔn)字符串結(jié)果
MD5可以被破解,包括md5(md5(md5()))這種形式,對所有可能性進(jìn)行加密存入數(shù)據(jù)庫,然后與你的md5密碼比對,可以進(jìn)行md5加鹽
軟件需要先卸載再測試,清除掉之前保存的sp文件
package com.qingguow.mobilesafe.utils;
import java.security.MessageDigest;
public class Md5Util {
/**
* 獲取MD5加密字符串
* @param pass
* @return
*/
public static String md5Password(String pass){
MessageDigest messageDigest;
try {
messageDigest = MessageDigest.getInstance("md5");
byte[] bytes=messageDigest.digest(pass.getBytes());
StringBuffer sb=new StringBuffer();
for(byte b:bytes){
int number=b & 0xff;
String str=Integer.toHexString(number);
if(str.length()==1){
sb.append("0");
}
sb.append(str);
}
return sb.toString();
} catch (Exception e) {
e.printStackTrace();
}
return "";
}
}

以上內(nèi)容是小編給大家介紹的Android手機(jī)衛(wèi)士保存密碼時進(jìn)行md5加密的相關(guān)知識,希望對大家有所幫助!
相關(guān)文章
Android實現(xiàn)雷達(dá)View效果的示例代碼
這篇文章主要介紹了Android實現(xiàn)雷達(dá)View效果,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-06-06
Flutter?阻止系統(tǒng)鍵盤彈出的優(yōu)雅方式
這篇文章主要為大家介紹了Flutter?阻止系統(tǒng)鍵盤彈出的優(yōu)雅方式詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11
Android 開發(fā)隱藏標(biāo)題欄的方法總結(jié)
這篇文章主要介紹了android 開發(fā)隱藏標(biāo)題欄的方法總結(jié)的相關(guān)資料,需要的朋友可以參考下2017-04-04
Android使用文件進(jìn)行數(shù)據(jù)存儲的方法
這篇文章主要介紹了Android使用文件進(jìn)行數(shù)據(jù)存儲的方法,較為詳細(xì)的分析了Android基于文件實現(xiàn)數(shù)據(jù)存儲所涉及的相關(guān)概念與使用技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-09-09

