Python AES - base64 加解密

Rocky_Ansi發表於2016-11-26

 

首先python引用AES加密 

from Crypto.Cipher  import AES

  需要先安裝  Crypto  模組, 可以使用 easy_install 進行安裝   會自動去官網進行搜尋安裝

  其中程式碼示例:

    aes 加密 需要進行加密資料的處理,要求資料長度必須是16的倍數,不足時,在後邊補0

class MyCrypt():
    def __init__(self, key):
        self.key = key
        self.mode = AES.MODE_CBC

    def myencrypt(self, text):
        length = 16
        count = len(text)
        print count
        if count < length:
            add = length - count
            text= text + ('\0' * add)

        elif count > length:
            add = (length -(count % length))
            text= text + ('\0' * add)

        cryptor = AES.new(self.key, self.mode, self.key)
        self.ciphertext = cryptor.encrypt(text)
        return b2a_hex(self.ciphertext)

    def mydecrypt(self, text):
        cryptor = AES.new(self.key, self.mode, self.key)
        plain_text = cryptor.decrypt(text)
        return plain_text.rstrip('\0')

 

關於base64 加密 比較簡單

  import base64 即可

>>> dir(base64)
['EMPTYSTRING', 'MAXBINSIZE', 'MAXLINESIZE', '__all__', '__builtins__', '__doc__', '__file__', '__name__', '__package__', '_b32alphabet', 
'_b32rev', '_b32tab', '_translate', '_translation', '_urlsafe_decode_translation', '_urlsafe_encode_translation', '_x', 'b16decode',
'b16encode', 'b32decode', 'b32encode', 'b64decode', 'b64encode', 'binascii', 'decode', 'decodestring', 'encode', 'encodestring', 'k',
're', 'standard_b64decode', 'standard_b64encode', 'string', 'struct', 'test', 'test1', 'urlsafe_b64decode', 'urlsafe_b64encode', 'v']

   其中有 urlsafe 加密解密 , 可以不用在base64基礎上進行再次處理。

 

相關文章