首页 > 上网技巧 > 电脑小技巧 > QQ空间登录MD5算法java源码

QQ空间登录MD5算法java源码

时间:2015-07-21 15:47 作者:QQ地带 我要评论

 

 

  1. public class Security { 
  2. public static final String HEXSTRING = "0123456789ABCDEF"
  3.  
  4.     public static String md5(String originalText) throws Exception { 
  5.         byte buf[] = originalText.getBytes("ISO-8859-1"); 
  6.         StringBuffer hexString = new StringBuffer(); 
  7.         String result = ""
  8.         String digit = ""
  9.  
  10.         try { 
  11.             MessageDigest algorithm = MessageDigest.getInstance("MD5"); 
  12.             algorithm.reset(); 
  13.             algorithm.update(buf); 
  14.  
  15.             byte[] digest = algorithm.digest(); 
  16.  
  17.             for (int i = 0; i < digest.length; i++) { 
  18.                 digit = Integer.toHexString(0xFF & digest[i]); 
  19.  
  20.                 if (digit.length() == 1) { 
  21.                     digit = "0" + digit; 
  22.                 } 
  23.  
  24.                 hexString.append(digit); 
  25.             } 
  26.  
  27.             result = hexString.toString(); 
  28.         } catch (Exception ex) { 
  29.             result = ""
  30.         } 
  31.  
  32.         return result.toUpperCase(); 
  33.     } 
  34.  
  35.     public static String hexchar2bin(String md5str) throws UnsupportedEncodingException 
  36.     { 
  37.         ByteArrayOutputStream baos = new ByteArrayOutputStream(md5str.length() / 2); 
  38.  
  39.         for (int i = 0; i < md5str.length(); i = i + 2
  40.         { 
  41.             baos.write((HEXSTRING.indexOf(md5str.charAt(i)) << 4 | 
  42.                     HEXSTRING.indexOf(md5str.charAt(i + 1)))); 
  43.         } 
  44.  
  45.         return new String(baos.toByteArray(), "ISO-8859-1"); 
  46.     } 
  47.  
  48.     
  49.     public static String GetPassword(String qq,String password, String verifycode){ 
  50.     String V = ""
  51.     try
  52.        String P = hexchar2bin(md5(password)); 
  53.        String U = md5(P + hexchar2bin(qq.replace("\\x""").toUpperCase())); 
  54.        V = md5(U + verifycode.toUpperCase()); 
  55. catch (Exception e) { 
  56. e.printStackTrace(); 
  57. return "加密时不小心就失败了,请求管理员修复啊"
  58.         return V; 
  59.     } 
  60.  
  61.     
  62.     public static String GetG_TK(String str){ 
  63.       int hash = 5381
  64.       for(int i = 0, len = str.length(); i < len; ++i){ 
  65.       hash += (hash << 5) + (int)(char)str.charAt(i); 
  66.       } 
  67.       return (hash & 0x7fffffff)+""
  68.     } 
  69.      

 


标签: java
顶一下
(0)
0%
踩一下
(0)
0%

Google提供的广告