Md5

简介:
[html] view plain copy
 print?在CODE上查看代码片派生到我的代码片
  1. package com.wiseweb.util.security;  
  2.   
  3. import java.security.MessageDigest;  
  4.   
  5. public class MD5 {  
  6.   
  7.     public static String Encode(byte[] source) {  
  8.   
  9.         String s = null;  
  10.         char hexDigits[] = { // 用来将字节转换成 16 进制表示的字符  
  11.         '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd',  
  12.                 'e', 'f' };  
  13.         try {  
  14.             java.security.MessageDigest md5 = java.security.MessageDigest  
  15.                     .getInstance("MD5");  
  16.             md5.update(source);  
  17.               
  18.             StringBuilder sb = new StringBuilder();  
  19.             for (byte b : md5.digest()) {  
  20.                 sb.append(String.format("%02X", b));  
  21.             }  
  22.             return sb.toString();  
  23.             /**  
  24.             byte tmp[] = md5.digest(); // MD5 的计算结果是一个 128 位的长整数,  
  25.             // 用字节表示就是 16 个字节  
  26.             char str[] = new char[16 * 2]; // 每个字节用 16 进制表示的话,使用两个字符,  
  27.             // 所以表示成 16 进制需要 32 个字符  
  28.             int k = 0; // 表示转换结果中对应的字符位置  
  29.             for (int i = 0; i < 16; i++) { // 从第一个字节开始,对 MD5 的每一个字节  
  30.                 // 转换成 16 进制字符的转换  
  31.                 byte byte0 = tmp[i]; // 取第 i 个字节  
  32.                 str[k++] = hexDigits[byte0 >>> 4 & 0xf]; // 取字节中高 4 位的数字转换,   
  33.                 // >>> 为逻辑右移,将符号位一起右移  
  34.                 str[k++] = hexDigits[byte0 & 0xf]; // 取字节中低 4 位的数字转换  
  35.             }  
  36.             s = new String(str); // 换后的结果转换为字符串  
  37.             ***/  
  38.               
  39.   
  40.         } catch (Exception e) {  
  41.             e.printStackTrace();  
  42.         }  
  43.         return s;  
  44.   
  45.     }  
  46.     public static String MD5(String inStr)  
  47.       {  
  48.         MessageDigest md5 = null;  
  49.         try {  
  50.           md5 = MessageDigest.getInstance("MD5");  
  51.         } catch (Exception e) {  
  52.           System.out.println(e.toString());  
  53.           e.printStackTrace();  
  54.           return "";  
  55.         }  
  56.         char[] charArray = inStr.toCharArray();  
  57.         byte[] byteArray = new byte[charArray.length];  
  58.   
  59.         for (int i = 0; i < charArray.length; ++i) {  
  60.           byteArray[i] = (byte)charArray[i];  
  61.         }  
  62.         byte[] md5Bytes = md5.digest(byteArray);  
  63.   
  64.         StringBuffer hexValue = new StringBuffer();  
  65.   
  66.         for (int i = 0; i < md5Bytes.length; ++i) {  
  67.           int val = md5Bytes[i] & 0xFF;  
  68.           if (val < 16)  
  69.             hexValue.append("0");  
  70.           hexValue.append(Integer.toHexString(val));  
  71.         }  
  72.         return hexValue.toString();  
  73.       }  
  74.   
  75.       public static String KL(String inStr)  
  76.       {  
  77.         char[] a = inStr.toCharArray();  
  78.         for (int i = 0; i < a.length; ++i) {  
  79.           a[i] = (char)(a[i] ^ 0x74);  
  80.         }  
  81.         String s = new String(a);  
  82.         return s;  
  83.       }  
  84.   
  85.       public static String JM(String inStr)  
  86.       {  
  87.         char[] a = inStr.toCharArray();  
  88.         for (int i = 0; i < a.length; ++i) {  
  89.           a[i] = (char)(a[i] ^ 0x74);  
  90.         }  
  91.         String k = new String(a);  
  92.         return k;  
  93.       }  
  94.   
  95.       public static void main(String[] args)  
  96.       {  
  97.         System.out.println(MD5("1qaz2wsx"));  
  98.       }  
  99. }  
目录
相关文章
|
2月前
|
算法 安全
MD5和SHA1 5
MD5和SHA1 5
40 0
|
3月前
浅浅的玩一下这个md
浅浅的玩一下这个md
33 0
浅浅的玩一下这个md
|
存储 算法 安全
【MD5】什么是MD5?md5的简要描述
【MD5】什么是MD5?md5的简要描述
253 0
|
数据安全/隐私保护
s3cmd安装及使用
s3cmd安装及使用
|
算法 Java 网络安全
MD5只是用于加密吗?可听过文件MD5?
MD5只是用于加密吗?可听过文件MD5?
MD5只是用于加密吗?可听过文件MD5?
|
算法 JavaScript
怎么给文件生成MD5
怎么给文件生成MD5
4862 0
C#生成md5
C#生成md5
97 0
|
算法 安全 数据安全/隐私保护
MD5详解
MD5详解
634 0
MD5详解
S3cmd
一:安装方法 #wget http://nchc.dl.sourceforge.net/project/s3tools/s3cmd/1.0.0/s3cmd-1.0.0.tar.gz    #tar -zxf s3cmd-1.
1670 0