MD5加密算法(JAVA)
2016-07-11 14:27
429 查看
public static String getMD5(String source){ String s=null; byte by[] = source.getBytes(); //用来将字节转换成16进制表示的字符 char[] hexDigits={'0','1','2','3','4','5','6','7','8','9', 'a','b','c','d','e','f'}; try { MessageDigest md=MessageDigest.getInstance("MD5"); md.update(by); //MD5的计算结果是一个128位的长整数,用字节表示为16个字节 byte[] tmp=md.digest(); //每个字节用16进制表示的话,使用2个字符(高4位一个,低4位一个),所以表示成16进制需要32个字符 char[] str=new char[16*2]; int k=0;//转换结果中对应的字符位置 for(int i=0;i<16;i++){//对MD5的每一个字节转换成16进制字符 byte byte0=tmp[i]; str[k++]=hexDigits[byte0>>>4 & 0xf];//对字节高4位进行16进制转换 str[k++]=hexDigits[byte0 & 0xf]; //对字节低4位进行16进制转换 } s=new String(str); } catch (NoSuchAlgorithmException e) { e.printStackTrace(); } return s; }
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- c++11 + SDL2 + ffmpeg +OpenAL + java = Android播放器
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树