锘??xml version="1.0" encoding="utf-8" standalone="yes"?>人妻久久久一区二区三区,国产激情久久久久影院老熟女免费 ,国产精品99久久久久久猫咪 http://www.shnenglu.com/socketref/category/20843.htmlgis,mouse,luolasizh-cnTue, 01 Apr 2014 02:31:29 GMTTue, 01 Apr 2014 02:31:29 GMT60鍒╃敤pyCrypto榪涜鍔犲瘑Tokenhttp://www.shnenglu.com/socketref/archive/2014/04/01/206414.html鏀懼眮闃跨嫍 鏀懼眮闃跨嫍 Tue, 01 Apr 2014 02:22:00 GMThttp://www.shnenglu.com/socketref/archive/2014/04/01/206414.htmlhttp://www.shnenglu.com/socketref/comments/206414.htmlhttp://www.shnenglu.com/socketref/archive/2014/04/01/206414.html#Feedback0http://www.shnenglu.com/socketref/comments/commentRss/206414.htmlhttp://www.shnenglu.com/socketref/services/trackbacks/206414.html閮ㄥ垎浠g爜琚叧闂垨鑰呮墦寮錛屼嬌鐢ㄨ呰鑷璋冩暣錛屽鏋滀簡瑙sa寰堢畝鍗曠悊瑙d竴涓嬩唬鐮?nbsp;

  1 GCONFS={
  2     'auth_public_keyfile':'public.rsa',
  3     'auth_private_keyfile':'private.rsa'
  4 }
  5 
  6 
  7 def encrypt_des(key,text):
  8     from Crypto.Cipher import DES
  9     import base64
 10     from Crypto import Random
 11     #iv = Random.get_random_bytes(8)
 12     des = DES.new(key, DES.MODE_ECB)
 13     reminder = len(text)%8
 14     if reminder ==0:  # pad 8 bytes
 15         text+='\x08'*8
 16     else:
 17         text+=chr(8-reminder)* (8-reminder)
 18     #text+=' '*(8-len(text)%8)
 19     return des.encrypt(text)
 20 #return base64.encodestring(des.encrypt(text))
 21 
 22 def decrypt_des(key,text):
 23     from Crypto.Cipher import DES
 24     import base64
 25     #    print key
 26     des = DES.new(key, DES.MODE_ECB)
 27     text = des.decrypt(text)
 28     pad = ord(text[-1])
 29     if pad == '\x08':
 30         return text[:-8]
 31     return text[:-pad]
 32 
 33 
 34 def rsa_generate():
 35     from Crypto.PublicKey import RSA
 36     from Crypto import Random
 37     random_generator = Random.new().read
 38     key = RSA.generate(1024, random_generator)
 39 
 40 
 41     #print key.publickey().encrypt('123213213123213213',20)
 42     public =  key.publickey().exportKey()
 43     #print key.publickey().exportKey()
 44     private = key.exportKey()
 45     return public,private
 46 
 47 def rsa_encrypt(key,text):
 48     '''
 49         浼犲叆縐侀挜key鍜屽緟鍔犲瘑鏄庢枃鏁版嵁text
 50         鑷姩鐢熸垚8瀛楄妭闀垮害闅忔満瀵嗙爜P,鐢≒灝唗ext榪涜des鍔犲瘑鐢熸垚E,
 51         鐢ㄧ閽ey鍔犲瘑P鐢熸垚P2
 52 
 53         key - private key
 54         text - orignal text
 55         @return:  [P2+E]  RSA鍔犲瘑鐨刣es縐橀挜 + 鍔犲瘑鐨勫瘑鏂?br /> 56     '''
 57     import uuid
 58     from Crypto.PublicKey import RSA
 59     deskey = hashlib.md5(uuid.uuid1().hex).hexdigest()[:8]
 60     text = encrypt_des(deskey,text)
 61 
 62     key = RSA.importKey(key)
 63     r = key.encrypt(deskey,32)
 64 
 65     return r[0]+text # 鍔犲瘑鐨刱ey錛屽拰des鍔犲瘑鐨勬暟鎹?/span>
 66 
 67 def rsa_decrypt(key,text):
 68     from Crypto.PublicKey import RSA
 69     try:
 70         rsa = RSA.importKey(key)
 71         deskey = text[:128]
 72         text = text[128:]
 73         deskey = rsa.decrypt(deskey)
 74         return decrypt_des(deskey,text)
 75     except:
 76         return ''
 77 
 78 class Cipher:
 79     def __init__(self):
 80 #        self.pubkey = pubkey
 81 #        self.privkey = privkey
 82         pass
 83 
 84     def encrypt(self,key,text):
 85         return rsa_encrypt(key,text)
 86 
 87 
 88     def decrypt(self,key,text):
 89         return rsa_decrypt(key,text)
 90 
 91     @staticmethod
 92     def getCipher():
 93         try:
 94             cip = Cipher()
 95             return cip
 96         except:
 97             traceback.print_exc()
 98             return None
 99 
100 def encryptToken(user):
101     '''
102         鐢ㄦ埛淇℃伅杞崲涓簍oken
103     '''
104     token=''
105     try:
106         d = json.dumps(user)
107 #        f = open(GCONFS['auth_public_keyfile'],'r')
108 #        pubkey = f.read()
109 #        f.close()
110         pubkey = ENCRYPT_PUBKEY
111         # d = Cipher.getCipher().encrypt(pubkey,d)  #rsa encrpyt
112         token = base64.encodestring(d).strip()
113     #print 'token size:',len(token)
114     except:
115         print traceback.format_exc()
116         token = ''
117 
118     return token
119 
120 def decryptToken(token):
121     user = None
122     try:
123 #        f = open(GCONFS['auth_private_keyfile'],'r')
124 #        privkey = f.read()
125 #        f.close()
126         privkey = ENCRYPT_PRIVKEY
127         d = base64.decodestring(token)
128         # d = Cipher.getCipher().decrypt(privkey,d) #rsa decrept
129         user = json.loads(d)
130     except:
131         #print traceback.format_exc()
132         pass
133     return user


鏀懼眮闃跨嫍 2014-04-01 10:22 鍙戣〃璇勮
]]>
国产真实乱对白精彩久久| 日韩欧美亚洲国产精品字幕久久久 | 亚洲精品国产第一综合99久久 | 国产精品久久久香蕉| 激情综合色综合久久综合| 91视频国产91久久久| 日韩精品久久无码中文字幕| 久久久久久精品免费免费自慰| 亚洲国产成人乱码精品女人久久久不卡| 99久久精品国产毛片| 精品水蜜桃久久久久久久| 国内精品伊人久久久久影院对白| 国产69精品久久久久99尤物| 精品久久人人妻人人做精品| 午夜精品久久久久9999高清| 日本精品久久久久影院日本| 中文无码久久精品| 国内精品九九久久久精品| 久久这里只精品国产99热| 久久无码精品一区二区三区| 欧美激情一区二区久久久| 欧洲人妻丰满av无码久久不卡 | 久久国产综合精品五月天| 亚洲国产一成久久精品国产成人综合 | 久久中文字幕精品| 色综合久久综合中文综合网| 狠狠狠色丁香婷婷综合久久俺| 久久国产精品偷99| 三级三级久久三级久久| 久久久久久久人妻无码中文字幕爆| 久久久久综合网久久| 久久夜色精品国产噜噜亚洲a| 久久国产精品99精品国产| 欧美日韩中文字幕久久久不卡| 亚洲AV无码久久精品狠狠爱浪潮| 国产高清美女一级a毛片久久w| 伊人久久大香线蕉AV色婷婷色| 国产精品xxxx国产喷水亚洲国产精品无码久久一区 | 久久精品国产色蜜蜜麻豆| 久久久国产精品福利免费 | 久久久久无码专区亚洲av|