from Crypto.Cipher import AES
import base64
secret_key = '1234567890123456' # 密匙
msg_text = 'test some plain text here'.rjust(32)
cipher = AES.new(secret_key, AES.MODE_ECB)
encoded = base64.b64encode(cipher.encrypt(msg_text))
decoded = cipher.decrypt(base64.b64decode(encoded))
print(decoded.strip())
加密算法
======================== ======= ========================
Module name Type Description
======================== ======= ========================
`Crypto.Cipher.AES` Block Advanced Encryption Standard
`Crypto.Cipher.ARC2` Block Alleged RC2
`Crypto.Cipher.ARC4` Stream Alleged RC4
`Crypto.Cipher.Blowfish` Block Blowfish
`Crypto.Cipher.CAST` Block CAST
`Crypto.Cipher.DES` Block The Data Encryption Standard.Very commonly used in the past, but today its 56-bit keys are too small.
`Crypto.Cipher.DES3` Block Triple DES.
`Crypto.Cipher.XOR` Stream The simple XOR cipher.
======================== ======= ========================
| - For `MODE_ECB`, `MODE_CBC`, and `MODE_OFB`, *ciphertext* length
| (in bytes) must be a multiple of *block_size*.
|
| - For `MODE_CFB`, *ciphertext* length (in bytes) must be a multiple
| of *segment_size*/8.
|
| - For `MODE_CTR`, *ciphertext* can be of any length.
|
| - For `MODE_OPENPGP`, *plaintext* must be a multiple of *block_size*,
| unless it is the last chunk of the message.