Usage analysis of Python AES encryption module
- 2020-06-01 10:11:57
This article illustrates the use of the Python AES encryption module as an example. I will share it with you for your reference as follows:
AES is a new encryption module. Last time I showed you how to use DES in OpenSSL. This time we'll take a look at how Python's own library USES AES for encryption and decryption. In fact, the principle of python is still very similar, except that it is easier to do this in python than C, but it is still a bit more verbose than C#/Java. In the language C#/JAVA, padding1 generally has a full implementation of the processing of encrypted source data. I dealt with this last time in the C language. In the python library, you need to handle this yourself.
from Crypto.Cipher import AES # padding algorithm BS = 16 pad = lambda s: s + (BS - len(s) % BS) * chr(0) unpad = lambda s : s[0:-ord(s[-1])] # Converts a string to 2 Into the system buff block def parse_hex(hex_str): l=int(math.ceil(len(hex_str)/2)) buf='' for i in range(0,l): s=hex_str[(i*2):((i+1)*2)] buf=buf+chr(int(s,16)) return buf # Analytically encrypted key key=parse_hex("68b329da9893e34099c7d8ad5cb9c940") iv=parse_hex("68b329da9893e34099c7d8ad5cb9c940") # new 1 a AES The object of aes_obj = AES.new(key, AES.MODE_CBC,iv) # Do byte alignment padding_zero=pad(raw_buf) # Began to encrypt encrypt_buf=aes_obj.encrypt(padding_zero) # decryption buff=aes_obj.decrypt(encrypt_buf)
padding in this code is still very nice. If you were to implement this in C, you'd have to write a lot more.
PS: about encryption and decryption interested friends can also refer to the website online tools:
Text online encryption and decryption tools (including AES, DES, RC4, etc.) :
MD5 online encryption tool:
Online hash/hash algorithm encryption tool:
MD5/hash/ SHA-1 / SHA-2 / SHA-256 / SHA-512 / SHA-3 / RIPEMD-160 encryption tools:
Online sha1 sha224 / sha256 sha384 / sha512 encryption tools:
More about Python related topics: interested readers to view this site "Python coding skills summary", "Python data structure and algorithm tutorial", "Python Socket programming skills summary", "Python function using techniques", "Python string skills summary", "Python introduction and advanced tutorial" and "Python file and directory skills summary"
I hope this article is helpful for you to design Python program.