深入浅析Android手机卫士保存密码时进行md5加密
推荐阅读:
浅析Android手机卫士自定义控件的属性
浅析Android手机卫士关闭自动更新
详解Android 手机卫士设置向导页面
一般的手机没有root权限,进不去data/data目录,当手机刷机了后,拥有root权限,就可以进入data/data目录,查看我们保存的密码文件,因此我们需要对存入的密码进行MD5加密
获取MessageDigest信息摘要器对象,调用MessageDigest.getInstance(“md5”),参数:规则
调用MessageDigest对象的digest(bytes)方法,得到加密的byte[] 数组,参数:byte[] 数组,调用String对象的getBytes()方法获取到字节数组
用每一个byte去和11111111八个二进制位做与运算并且得到的是int类型:byte & 11111111
for(byte b : xxxxx) 循环中
运行 byte & 0xff得到 int值
调用Integer.toHexString(number),得到16进制并返回String类型
判断String的长度是1的,在它的前面拼接上0
循环外面定义一个StringBuffer对象,调用StringBuffer对象的append()拼接起来字符串
调用StringBuffer对象的toString()方法,得到加密后的标准字符串结果
MD5可以被破解,包括md5(md5(md5()))这种形式,对所有可能性进行加密存入数据库,然后与你的md5密码比对,可以进行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 ""; } }
以上内容是小编给大家介绍的Android手机卫士保存密码时进行md5加密的相关知识,希望对大家有所帮助!
相关推荐
-
java,android,MD5加密算法的实现代码(16位,32位)
如下所示: import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; public class Md5 { public static String getMD5(String val) throws NoSuchAlgorithmException{ MessageDigest md5 = MessageDigest.getInstance("MD5"); md5.update
-
Android实现简单MD5加密的方法
本文实例讲述了Android实现简单MD5加密的方法.分享给大家供大家参考,具体如下: 网上关于android下MD5加密的资料很多,但是测试了下总是跟网站的md5加密不一样, 后来才知道是编码方式不对,于是就自己写了一个. private static final char HEX_DIGITS[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' }; public stati
-
Android获取apk签名指纹的md5值(防止重新被打包)的实现方法
本文实例讲述了Android获取apk签名指纹的md5值以防止重新被打包的实现方法.分享给大家供大家参考,具体如下: 做个记录(这里只是Java层的签名校验,java层容易被破解,我建议apk加固下) 获取md5值来进行Apk签名校验, 可以防止apk重新被打包. 下面我说说怎么获取apk签名的md5值(有三种方法) 1.用代码获取签名指纹的md5值 /** * MD5加密 * @param byteStr 需要加密的内容 * @return 返回 byteStr的md5值 */ public
-
android md5加密与rsa加解密实现代码
复制代码 代码如下: import java.io.UnsupportedEncodingException; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; public class MD5 { /* * MD5加密 */ public static String getDigest(String str) { MessageDigest messageDigest = nul
-
深入理解Android MD5数据加密
MD5加密 MD5是由MD2.MD3.MD4演变过来的,虽然MD5加密算法现在有些人已经将其解开了,但是它的加密机制依然很强大,我想绝大对数还是不会解开的.MD5加密算法是单向加密,是不可逆的一种的加密方式,只能用你的密码才能解开,要不就是会解密算法,否则想都别想解开. MD5加密的特点 压缩性:任意长度的数据,算出的MD5值长度都是固定的. 容易计算:从原数据计算出MD5值很容易. 抗修改性:对原数据进行任何改动,哪怕只修改1个字节,所得到的MD5值都有很大区别. 强抗碰撞:已知原数据和其MD
-
Android md5加密与php md5加密一致详解
Android md5加密与php md5加密一致详解 在Android开发过程中加密密码常常采用md5加密方式,然而如果服务器端采用PHP开发(php采用md5加密很简单,直接md5($str)),很可能与Java的md5加密不一致.以下方法是md5加密与php一致的源码: import java.math.BigInteger; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException
-
Android编程之MD5加密算法实例分析
本文实例分析了Android编程之MD5加密算法.分享给大家供大家参考,具体如下: Android MD5加密算与J2SE平台一模一样,因为Android 平台支持 java.security.MessageDigest这个包.实际上与J2SE平台一模一样. 算法签名: 复制代码 代码如下: String getMD5(String val) throws NoSuchAlgorithmException 输入一个String(需要加密的文本),得到一个加密输出String(加密后的文本) pa
-
深入浅析Android手机卫士保存密码时进行md5加密
推荐阅读: 浅析Android手机卫士自定义控件的属性 浅析Android手机卫士关闭自动更新 详解Android 手机卫士设置向导页面 一般的手机没有root权限,进不去data/data目录,当手机刷机了后,拥有root权限,就可以进入data/data目录,查看我们保存的密码文件,因此我们需要对存入的密码进行MD5加密 获取MessageDigest信息摘要器对象,调用MessageDigest.getInstance("md5"),参数:规则 调用MessageDigest对象
-
浅析Android手机卫士保存手机安全号码
推荐阅读: 浅析Android手机卫士sim卡绑定 深入浅析Android手机卫士保存密码时进行md5加密 详解Android 手机卫士设置向导页面 浅析Android手机卫士关闭自动更新 浅析Android手机卫士自定义控件的属性 浅析Android手机卫士读取联系人 调用ListView对象的setOnItemClickListener()方法,设置条目的点击事件,参数:OnItemClickListener对象 使用匿名内部类实现,重写onClick()方法,传递进来的参数:ListVie
-
浅析Android手机卫士之手机实现短信指令获取位置
推荐阅读: 浅析Android手机卫士sim卡绑定 深入浅析Android手机卫士保存密码时进行md5加密 详解Android 手机卫士设置向导页面 浅析Android手机卫士关闭自动更新 浅析Android手机卫士自定义控件的属性 浅析Android手机卫士读取联系人 浅析Android手机卫士接收短信指令执行相应操作 浅析Android手机卫士手机定位的原理 获取位置 新建一个service的包 新建一个GPSService类继承系统的Service类 清单文件中注册一下 重写onCreat
-
浅析Android手机卫士读取联系人
推荐阅读: 浅析Android手机卫士sim卡绑定 深入浅析Android手机卫士保存密码时进行md5加密 详解Android 手机卫士设置向导页面 浅析Android手机卫士关闭自动更新 浅析Android手机卫士自定义控件的属性 获取ContentResolver内容解析器对象,通过getContentResolver()方法 调用ContentResolver对象的query()方法,得到raw_contacts表里面的数据,得到Cursor对象 参数:Uri对象,字段String数组 获
-
浅析Android手机卫士之号码归属地查询
使用小米号码归属地数据库,有两张表data1和data2 先查询data1表,把手机号码截取前7位 select outkey from data1 where id="前七位手机号" 再查询data2表, select location from data2 where id="上面查出的outkey" 可以使用子查询 select location from data2 where id=(select outkey from data1 where id=&q
-
浅析Android 手机卫士设备管理权限锁屏
推荐阅读: 浅析Android手机卫士sim卡绑定 深入浅析Android手机卫士保存密码时进行md5加密 详解Android 手机卫士设置向导页面 浅析Android手机卫士关闭自动更新 浅析Android手机卫士自定义控件的属性 浅析Android手机卫士读取联系人 浅析Android手机卫士接收短信指令执行相应操作 浅析Android手机卫士手机定位的原理 浅析Android手机卫士之手机实现短信指令获取位置 设备管理员 Device Admin 获取DevicePolicyManager
-
浅析Android手机卫士手机定位的原理
推荐阅读: 浅析Android手机卫士sim卡绑定 深入浅析Android手机卫士保存密码时进行md5加密 详解Android 手机卫士设置向导页面 浅析Android手机卫士关闭自动更新 浅析Android手机卫士自定义控件的属性 浅析Android手机卫士读取联系人 浅析Android手机卫士接收短信指令执行相应操作 手机定位的三种方式:网络定位,基站定位,GPS定位 网络定位,手机连上wifi 2g 3g的时候,手机会有一个ip,误差很大 基站定位,精确度与基站的多少有关,几十米到几公里的
-
浅析Android手机卫士接收短信指令执行相应操作
推荐阅读: 浅析Android手机卫士sim卡绑定 深入浅析Android手机卫士保存密码时进行md5加密 详解Android 手机卫士设置向导页面 浅析Android手机卫士关闭自动更新 浅析Android手机卫士自定义控件的属性 浅析Android手机卫士读取联系人 通过广播接收者,接收到短信,对短信内容进行判断,如果为我们指定的值就执行相应的操作. 如果短信内容是"#*location*#" 就执行,获取手机位置 如果短信内容是"#*alarm*#" 就执行,
-
浅析Android手机卫士关闭自动更新
推荐阅读: 浅析Android手机卫士自定义控件的属性 保存数据的四种方式,网络,广播提供者,SharedPreferences,数据库 获取SharedPreferences对象,通过getSharedPreferences()方法,参数:名称,模式 例如config,MODE_PRIVATE 调用SharedPreferences对象的edit()方法,得到Editor对象 调用Editor对象的putBoolean()方法,放入布尔数据,参数:键值对,"update" false
-
浅析Android手机卫士自定义控件的属性
推荐阅读:浅析Android手机卫士关闭自动更新 上一节完成的自定义组合控件,灵活性不够,控件的显示信息上,仿照系统属性,自定义自己的属性 上一节组合控件SettingItemView中有三个控件,分别是TextView大标题,TextView描述,CheckBox复选框 自定义属性 tsh:title="大标题" 和tsh:desc_on="小标题开启",tsh:desc_off="小标题关闭" 添加命名空间,xmlns:tsh="h
随机推荐
- ASP常用源代码的总结(下)
- Ajax的特性及乱码问题
- JavaScript 面向对象编程(2) 定义类
- 用vbs操作注册表实例代码
- <meta>正则
- 解析用PHP实现var_export的详细介绍
- Python实现数据库编程方法详解
- 深入理解Go语言中的闭包
- Android继承现有控件拓展实现自定义控件textView
- 完美解决mysql启动后随即关闭的问题(ibdata1文件损坏导致)
- jQuery简单动画变换效果实例分析
- jquery学习总结(超级详细)
- jQuery Mobile 和 Kendo UI 的比较
- javascript 图片上一张下一张链接效果代码
- Android使用okHttp(get方式)登录
- 深入c# GDI+简单绘图的具体操作步骤(一)
- 详解android使用ItemDecoration 悬浮导航栏效果
- cisco 5000 ATMLANE MOUdle,.Cisco 6000 MAFC口令恢复
- 10G免费为您提供10G免费ASP空间
- 久拓数据为您提供100M免费全能型空间服务