MD5加密
来源:互联网 发布:erp软件销售怎么样 编辑:程序博客网 时间:2024/05/21 01:56
以下代码为在公司项目中用到的MD5加密的一个类。
此代码不涉及具体业务层面的知识
个人认为此类的优点:
1.方法之间的层层调用
2.个人加了点注释
上代码:
package com.test;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
/**
* MD5加密类练习
* @author Administrator
*/
public class LisMD5Exercise {
/**
* MD5加密练习 返回byte[]
* @param cPlainStr
* @return
* @author Zyw
*/
public static final byte[] encrypt(String cPlainStr){
byte[] tBEncryptDatas = null;//定义一个byte数组
try {
MessageDigest md = MessageDigest.getInstance("MD5");
//System.out.println(cPlainStr.getBytes().toString());
md.update(cPlainStr.getBytes());
tBEncryptDatas = md.digest();
} catch (NoSuchAlgorithmException e) {
tBEncryptDatas = null;
e.printStackTrace();
}
return tBEncryptDatas;
}
/**
* MD5加密 返回十六进制字符串
* @param cPlainStr
* @return
*/
public static final String encryptString(String cPlainStr){
byte[] tBEncryptDatas = null;
tBEncryptDatas = LisMD5Exercise.encrypt(cPlainStr);
if(tBEncryptDatas==null)
return null;
return LisMD5Exercise.bytesHEX(tBEncryptDatas);
}
/**
* 把byte转换为对应的十六进制字符
* @author Administrator
* @param b
* @return
*/
public static String byteHEX(byte b){
char[] diget = {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
char[] ob = new char[2];
ob[0] = diget[(b>>>4)&0X0F];
//0X代表16进制,0F代表16进制中的15即二进制中的1111,>>>无符号右移(尖的那端在哪就是向哪个方向移动)
//此外&逻辑与 &&具有短路运算规则.
ob[1] = diget[b&0X0F];
String s = new String(ob);
return s;
}
/**
* byte[]转换为对应的十六进制字符串
* @param byte[] b
*/
public static String bytesHEX(byte[] b){
StringBuffer Str = new StringBuffer();
for(int i=0;i<b.length;i++){
Str.append(LisMD5Exercise.byteHEX(b[i]));
}
return Str.toString();
}
/**
* 测试方法
* @param args
*/
public static void main(String[] args){
String Str = "S3000001820";
System.out.println(LisMD5Exercise.encryptString(Str));
}
}
- MD5加密
- MD5加密
- md5加密
- MD5加密
- md5加密
- MD5加密
- MD5加密
- md5 加密
- MD5加密
- md5加密
- MD5加密
- MD5加密
- MD5加密
- MD5加密
- MD5加密
- MD5加密
- MD5加密
- MD5加密
- C语言使用sqlite3数据库【第一节】
- 软件项目开发环境构建之一:整体流程
- CentOS7使用firewalld打开关闭防火墙与端口
- 2016年终总结
- 利用jquery的attr方法一行代码实现的简单的图片切换效果
- MD5加密
- 欢迎使用CSDN-markdown编辑器
- Service的分类以及不同种类的服务在生命周期中如何执行
- SAP会计期间设置
- Parquet与ORC:高性能列式存储格式
- 设计模式-单例模式
- Digital Roots
- django1.10官方文档翻译
- 搭建一个免费的,无限流量的Blog----github Pages和Jekyll入门