任何数据(也包括软件),经过MD5加密后,会生成一串16字节的字符串,中华人民一般称其为“MD5值”。
MD5在论坛上、软件发布时经常用,是为了保证文件的正确性,防止一些人盗用程序,加些木马或者篡改版权,设计的一套验证系统。每个文件都可以用MD5验证程序算出一个固定的MD5码来。软件作者往往会事先计算出他的程序的MD5码并帖在网上。因此,在网上看到某个程序下载旁注明了MD5码时,可以把它记下来,下载了这个程序后用MD5验证程序计算你所下载的文件的MD5码,和你之前记下MD5码比较,就知道你下的是不是原版了,如果两者相同,那么你所下载的是原版。如果计算出来的和网上注明的不匹配,那么你下载的这个文件不完整,或是被别人动过手脚。
> 计算字符串或文件的特征码(数字指纹), 不可逆, 因为任何文件或字符串算出来的md5都是32位! > 数据库: 123456->e10adc3949ba59abbe56e057f20f883e > 654321->e10adc3949ba59abbe56e057f20f883e > 在线破解网站: http://www.cmd5.com/ > 对MD5进行"加盐"处理, 增强安全性
http://www.blogjava.net/heyang/archive/2010/11/28/339233.html > MD5(password)->MD5(password + 用户昵称 + 用户id...)
public class MD5Utils {
/**
* md5加密
*
* @param password
* @return
*/
public static String encode(String password) {
try {
MessageDigest instance = MessageDigest.getInstance("MD5");// 获取MD5算法对象
byte[] digest = instance.digest(password.getBytes());// 对字符串加密,返回字节数组
StringBuffer sb = new StringBuffer();
for (byte b : digest) {
int i = b & 0xff;// 获取字节的低八位有效值
String hexString = Integer.toHexString(i);// 将整数转为16进制
if (hexString.length() < 2) {
hexString = "0" + hexString;// 如果是1位的话,补0
}
sb.append(hexString);
}
return sb.toString();
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
// 没有该算法时,抛出异常, 不会走到这里
}
return "";
}
}
Root权限
> 什么是Root权限? Root权限相当于系统管理员权限, 有了root权限,就可以随意修改和删除手机内部的文件.
> 一般手机购买之后, 都没有root权限. 厂商考虑到安全性因素,不允许用户或者第三方app删除和修改手机的内部文件(当然,sdcard的内容可以随意修改,不需要root权限)
> 如何获取root权限?
> 可以用第三方软件,比如刷机大师等. 一键root
> 有了Root后可以干嘛?
> 1. 刷机
> 2. 删除手机内置的app
> 3. 访问data/data目录的文件,并进行修改
> 怎么才能知道手机有么有root?
> 1. 刷机大师(小白用户用此方法)
> 2. 查看是否可以访问data/data目录,如果可以,就说明已经root了
> 3. cmd命令行,运行adb shell, 如果显示#,表示已经root, 如果显示$,表示没有root(如果用真机运行,即使root了,也显示$,这时候,运行命令su,可以直接获取管理员权限)
时间: 2024-11-19 11:04:12