20140429
1、MD5
http://blog.csdn.net/wuchuanpingstone/article/details/6715375
MD5的典型应用是对一段信息(Message)产生信息摘要(Message-Digest),以防止被篡改。
比如,在UNIX下有很多软件在下载的时候都有一个文件名相同,文件扩展名为.md5的文件,
在这个文件中通常只有一行文本,大致结构如:
MD5 (tanajiya.tar.gz) = 0ca175b9c0f726a831d895e269332461
这就是tanajiya.tar.gz文件的数字签名。
比如在UNIX系统中用户的密码就是以MD5(或其它类似的算法)经加密后存储在文件系统中。
当用户登录的时候,系统把用户输入的密码计算成MD5值,然后再去和保存在文件系统中的
MD5值进行比较,进而确定输入的密码是否正确。通过这样的步骤,系统在并不知道用户密
码的明码的情况下就可以确定用户登录系统的合法性。这不但可以避免用户的密码被具有
系统管理员权限的用户知道,而且还在一定程度上增加了密码被破解的难度。
01.import java.security.MessageDigest;
02.import java.security.NoSuchAlgorithmException;
03./**
04. * 对外提供getMD5(String)方法
05. * @author randyjia
06. *
07. */
08.public class MD5 {
09.
10. public static String getMD5(String val) throws NoSuchAlgorithmException{
11. MessageDigest md5 = MessageDigest.getInstance("MD5");
12. md5.update(val.getBytes());
13. byte[] m = md5.digest();//加密
14. return getString(m);
15.}
16. private static String getString(byte[] b){
17. StringBuffer sb = new StringBuffer();
18. for(int i = 0; i < b.length; i ++){
19. sb.append(b[i]);
20. }
21. return sb.toString();
22.}
23.}
2、Android 异步任务AsyncTask
AsyncTask主要用来更新UI线程,比较耗时的操作可以在AsyncTask中使用。
http://blog.csdn.net/wxg630815/article/details/7003812
AsyncTask主要用来更新UI线程,比较耗时的操作可以在AsyncTask中使用。
AsyncTask是个抽象类,使用时需要继承这个类,然后调用execute()方法。注意继承时需要设定三个泛型Params,Progress和Result的类型,如AsyncTask:
?Params是指调用execute()方法时传入的参数类型和doInBackgound()的参数类型
?Progress是指更新进度时传递的参数类型,即publishProgress()和onProgressUpdate()的参数类型
?Result是指doInBackground()的返回值类型
上面的说明涉及到几个方法:
?doInBackgound() 这个方法是继承AsyncTask必须要实现的,运行于后台,耗时的操作可以在这里做
?publishProgress() 更新进度,给onProgressUpdate()传递进度参数
?onProgressUpdate() 在publishProgress()调用完被调用,更新进度
3、Excetor
4、
public abstract class A implements B
阅读(727) | 评论(0) | 转发(0) |