MD5之生成16,32位大小写加密
2018-01-30 16:10
375 查看
MD5Util.java
package alpha.common; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; /** * MD5工具类 */ public class MD5Util { /** * 生成16位小写md5加密字符串 * @param sourceStr * @return */ public static String MD5ToLow16(String sourceStr) { try { // 获得MD5摘要算法的 MessageDigest对象 StringBuffer buf = getMD5StringBuffer(sourceStr); return buf.toString().substring(8, 24).toLowerCase();// 16位加密 // return buf.toString();// 32位加密 } catch (Exception e) { e.printStackTrace(); return null; } } /** * 生成16位大写md5加密字符串 * @param sourceStr * @return */ public static String MD5ToUpp16(String sourceStr) { try { // 获得MD5摘要算法的 MessageDigest对象 StringBuffer buf = getMD5StringBuffer(sourceStr); return buf.toString().substring(8, 24).toUpperCase();// 16位加密 } catch (Exception e) { e.printStackTrace(); return null; } } /** * 生成32位小写md5加密字符串 * @param sourceStr * @return */ public static String MD5ToLow32(String sourceStr) { try { // 获得MD5摘要算法的 MessageDigest对象 StringBuffer buf = getMD5StringBuffer(sourceStr); return buf.toString().toLowerCase();// 32位加密 } catch (Exception e) { e.printStackTrace(); return 4000 null; } } /** * 生成32位大写md5加密字符串 * @param sourceStr * @return */ public static String MD5ToUpp32(String sourceStr) { try { StringBuffer buf = getMD5StringBuffer(sourceStr); return buf.toString().toUpperCase();// 32位加密 } catch (Exception e) { e.printStackTrace(); return null; } } /** * 将字符串MD5加密 * @param sourceStr * @return * @throws NoSuchAlgorithmException */ private static StringBuffer getMD5StringBuffer(String sourceStr) throws NoSuchAlgorithmException { // 获得MD5摘要算法的 MessageDigest对象 MessageDigest mdInst = MessageDigest.getInstance("MD5"); // 使用指定的字节更新摘要 mdInst.update(sourceStr.getBytes()); // 获得密文 byte[] md = mdInst.digest(); // 把密文转换成十六进制的字符串形式 StringBuffer buf = new StringBuffer(); for (int i = 0; i < md.length; i++) { int tmp = md[i]; if (tmp < 0){ tmp += 256; } if (tmp < 16){ buf.append("0"); } buf.append(Integer.toHexString(tmp)); } return buf; } public static void main(String[] args) { String str = "1"; System.out.println(str); System.out.println(MD5ToLow16(str)); System.out.println(MD5ToLow32(str)); System.out.println(MD5ToUpp16(str)); System.out.println(MD5ToUpp32(str)); } }
相关文章推荐
- iOS md5 32位加密(区分大小写)
- md5加密16/32位
- Java 编程下字符串的 16 位、32位 MD5 加密
- Java 编程下字符串的 16 位、32位 MD5 加密
- Java 编程下字符串的 16 位、32位 MD5 加密
- Java 编程下字符串的 16 位、32位 MD5 加密
- Java 编程下字符串的 16 位、32位 MD5 加密
- Java 编程下字符串的 16 位、32位 MD5 加密
- iOS md5 32位加密(区分大小写)
- Java 生成16/32位 MD5
- Java 生成16/32位 MD5
- md5的16,32位加密【代码】
- C#中MD5 - 16/32位加密实例
- java MD5 16/32位算法
- C# MD5 16位和32位加密
- java,url长链接生成短链接,短链接生成器,自定义字符串,对字符串md5混合KEY加密,根据短链接获得key值,不重复的随机数,不重复的随机字符串
- .NET生成常用16、32位MD5加密的两种方法
- Android:MD5 32位 16位小写加密
- MD5 16与32位
- Java MD5 32位加密代码