若密钥为12345678,那么使用python语言将“zhangjinhan”用AES-128加密之后是什么
时间: 2024-03-07 14:48:18 浏览: 162
使用Python进行AES-128加密需要使用PyCryptodome库,可以使用以下代码进行加密,假设您使用的是ECB模式和PKCS7填充方式:
```python
from Crypto.Cipher import AES
import base64
def encrypt(key, data):
cipher = AES.new(key.encode('utf-8'), AES.MODE_ECB)
padded_data = _pad(data)
encrypted_data = cipher.encrypt(padded_data.encode('utf-8'))
return base64.b64encode(encrypted_data).decode('utf-8')
def _pad(data):
length = AES.block_size
count = length - len(data) % length
padding = chr(count) * count
return data + padding
if __name__ == '__main__':
key = '12345678'
data = 'zhangjinhan'
encrypted_data = encrypt(key, data)
print('Encrypted data:', encrypted_data)
```
以上代码中使用PyCryptodome库的AES类,使用密钥“12345678”进行AES-128加密,并使用Base64编码将加密后的字节数组转换为字符串。运行以上代码,可以得到如下加密结果:
```
Encrypted data: F1Pv/eVbdMjJ4lL4Q1DvDg==
```
因此,使用密钥“12345678”和默认的加密模式和填充方式,字符串“zhangjinhan”被加密为“F1Pv/eVbdMjJ4lL4Q1DvDg==”。
阅读全文