1、rsa加密
# -*-coding:utf-8-*- import base64 from Crypto.PublicKey import RSA from Crypto.Cipher import PKCS1_v1_5 as Encry # 公鑰 public_key = """-----BEGIN PUBLIC KEY----- MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCpCtF/Tb8RLg207RRMtSPMo2vdNePDO T853pcwG+WIUWP6QY1q4E+MQPBD64gnbsLpI1vBYJIfgFnau2Zuq6EI7ISMJwv9VWKuiq 6gFKbb+jOs5xxCRP04cmxk5AUrT0/8StrygmntEAynnIXkASO7Nai1DUmj6MQ9MQaJ/vY LuQIDAQAB -----END PUBLIC KEY-----""" pass_ward = str('') rsakey = RSA.importKey(public_key) cipher = Encry.new(rsakey) cipher_txt = base64.b64encode(cipher.encrypt(pass_ward)) print cipher_txt
2、密碼與隨機數做異或處理
# 原始密碼 password = ‘123456’ # 生成加密隨機數 num1 = int(1000 * random.random()) # 注意放在header中 n = '' for i in range(len(password)): # ord('A')函數獲取 字母‘A’的ascii。然后和隨機數異或。unichr(37)函數,是將該數字37再轉化為ascii碼 n += unichr(num1 ^ ord(password[i]))
# 這里做url處理。 例如:url中的 (=) 會變成 %2f。
assword = urllib.quote(n.encode('utf-8'))