深入淺析Android手機(jī)衛(wèi)士保存密碼時(shí)進(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ù)組
用每一個(gè)byte去和11111111八個(gè)二進(jìn)制位做與運(yùn)算并且得到的是int類型:byte & 11111111
for(byte b : xxxxx) 循環(huán)中
運(yùn)行 byte & 0xff得到 int值
調(diào)用Integer.toHexString(number),得到16進(jìn)制并返回String類型
判斷String的長度是1的,在它的前面拼接上0
循環(huán)外面定義一個(gè)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)士保存密碼時(shí)進(jìn)行md5加密的相關(guān)知識,希望對大家有所幫助!
相關(guān)文章
Android 仿日歷翻頁、仿htc時(shí)鐘翻頁、數(shù)字翻頁切換效果
這篇文章主要介紹了Android 仿日歷翻頁、仿htc時(shí)鐘翻頁、數(shù)字翻頁切換效果,需要的朋友可以參考下2017-07-07Android基于Sensor感應(yīng)器獲取重力感應(yīng)加速度的方法
這篇文章主要介紹了Android基于Sensor感應(yīng)器獲取重力感應(yīng)加速度的方法,涉及Android使用Sensor類實(shí)現(xiàn)感應(yīng)重力變化的功能,需要的朋友可以參考下2015-12-12Android自定義View之簡約風(fēng)歌詞控件實(shí)戰(zhàn)指南
一些接觸Android不久的朋友對自定義View都有一絲畏懼感,總感覺這是一個(gè)比較高級的技術(shù),但其實(shí)自定義View并不復(fù)雜,有時(shí)候只需要簡單幾行代碼就可以完成了,這篇文章主要給大家介紹了關(guān)于Android自定義View之簡約風(fēng)歌詞控件的相關(guān)資料,需要的朋友可以參考下2021-07-07詳解Android沉浸式實(shí)現(xiàn)兼容解決辦法
本篇文章主要介紹了詳解Android沉浸式實(shí)現(xiàn)兼容解決辦法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-11-11android Socket實(shí)現(xiàn)簡單聊天小程序
這篇文章主要為大家詳細(xì)介紹了android Socket實(shí)現(xiàn)簡單聊天小程序,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-06android studio 3.4配置Android -jni 開發(fā)基礎(chǔ)的教程詳解
這篇文章主要介紹了android studio 3.4配置Android -jni 開發(fā)基礎(chǔ),本文圖文并茂給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-09-09Android 獲取服務(wù)器與客戶端時(shí)差的實(shí)例代碼
下面小編就為大家分享一篇Android 獲取服務(wù)器與客戶端時(shí)差的實(shí)例代碼,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-01-01基于Android Service 生命周期的詳細(xì)介紹
本篇文章小編為大家介紹,基于Android Service 生命周期的詳解。需要的朋友參考下2013-04-04