java MD5 加密(16位/32位)
2015-08-25 15:53
585 查看
public static void main(String[] args) { String sss=textToMD5L32("qqqqq",32); System.out.println(sss); } /** * 对文本进行MD5加密 * @param plainText 要进行加密的文本 * @param param 指定获取16位/32位加密数据 * @return 加密后的内容 */ public static String textToMD5L32(String plainText,Integer param){ String result = null; //首先判断是否为空 if(StringUtils.isBlank(plainText)){ return null; } try{ //首先进行实例化和初始化 MessageDigest md = MessageDigest.getInstance("MD5"); //得到一个操作系统默认的字节编码格式的字节数组 byte[] btInput = plainText.getBytes(); //对得到的字节数组进行处理 md.update(btInput); //进行哈希计算并返回结果 byte[] btResult = md.digest(); //进行哈希计算后得到的数据的长度 StringBuffer sb = new StringBuffer(); for(byte b : btResult){ int bt = b&0xff; if(bt<16){ sb.append(0); } sb.append(Integer.toHexString(bt)); } if(param == 16){ result= sb.toString().substring(8, 24); }else if(param == 32){ result = sb.toString(); } return result; }catch(NoSuchAlgorithmException e){ e.printStackTrace(); } return result; }
相关文章推荐
- 【转】JAVA中的反射机制
- java内存区域
- spring 框架的xml文件如何读取properties文件数据
- java中instanceof用法
- hadoop中javac编译添加jar库文件路径问题
- java scanner 接收键盘输入 中文乱码问题
- Java-数组
- 在eclipse中添加新软件 从JAVASE 到 JAVAEE
- Java泛型:类型檫除、模板和泛型传递
- Java出现No enclosing instance of type E is accessible. Must qualify the allocation with an enclosing
- Spring的数据源配置
- java语言的反射机制
- JAVA接口的一些理解描述
- java.util.ResourceBundle 和java.util.properties 读取配置文件区别
- Java.lang.RuntimeException: Unable to start activity ComponentInfo Caused by: java.lang.NullPointer
- Java 内存泄露
- 走迷宫回溯算法(Java实现)
- maven项目在eclipse中debug时看不到源码?
- 搭建最简单的SpringMVC框架(使用maven)
- Spring笔记①--helloworld