写一个使用CryptoJS的python脚本
时间: 2023-07-25 07:09:14 浏览: 86
CryptoJS是JavaScript的加密库,因此无法直接在Python中使用。不过,Python也有许多优秀的加密库,如pycryptodome和cryptography。以下是一个使用pycryptodome实现AES加密和解密的Python脚本示例:
```python
from Crypto.Cipher import AES
from Crypto.Util.Padding import pad, unpad
import base64
# 加密函数
def aes_encrypt(key, data):
cipher = AES.new(key, AES.MODE_CBC)
ciphertext = cipher.encrypt(pad(data.encode(), AES.block_size))
iv = base64.b64encode(cipher.iv).decode()
encrypted_data = base64.b64encode(ciphertext).decode()
return iv, encrypted_data
# 解密函数
def aes_decrypt(key, iv, encrypted_data):
cipher = AES.new(key, AES.MODE_CBC, iv=base64.b64decode(iv))
ciphertext = base64.b64decode(encrypted_data)
decrypted_data = unpad(cipher.decrypt(ciphertext), AES.block_size).decode()
return decrypted_data
# 测试
if __name__ == '__main__':
key = b'0123456789abcdef'
data = 'Hello, world!'
iv, encrypted_data = aes_encrypt(key, data)
decrypted_data = aes_decrypt(key, iv, encrypted_data)
print(f'加密前的数据:{data}')
print(f'加密后的数据:{encrypted_data}')
print(f'解密后的数据:{decrypted_data}')
```
注意:此示例中的密钥和IV都是硬编码的,实际使用中应该从安全的地方获取。
阅读全文