返回列表

字符串简单加密 之 服务器端解密

默认分类 2012-07-25 02:05:04

后端语言ruby

  1. #md5加密  
  2. require 'md5'  
  3. puts MD5.hexdigest('admin').size  
  4.   
  5. #base64  
  6. require 'base64'  
  7. code = Base64.encode64('admin')  
  8. source = Base64.decode64(code)  
  9.   
  10. r='9437F61B8E9509D28DEB7559E19F641E==ANzITM90Wdu9FZuFmcmEWYhFWY9Qmcvd3czFGcmImYiJmY9UWbh5mclNXd'  
  11.   
  12. def decode_md5 result  
  13.     #check params whether complected  
  14.     md = str = ''  
  15.     if result.size > 31  
  16.         md = result[0..31]  
  17.         str = result[32..result.size].reverse  
  18.     end  
  19.   
  20.     data = false  
  21.     if result.size > 31 && MD5.hexdigest(str).to_s.upcase == md  
  22.         #get post params  
  23.         args = {}  
  24.         str = str.gsub(/\*/,'+')  
  25.         str = Base64.decode64(str)  
  26.         str.split('&').each do |s|  
  27.             s = s.split('=')  
  28.             next if s.size != 2  
  29.             args[s[0].strip] = (s[1].strip == '' ? nil : s[1].strip)  
  30.         end  
  31.         data = args  
  32.     end  
  33.   
  34.     return data  
  35. end  
  36.   
  37.   
  38. p decode_md5(r)