module 'Crypto.Cipher.AES' has no attribute 'KeyGenerator'
时间: 2024-10-15 19:11:46 浏览: 18
AES加密DEMO(javax.crypto.Cipher NET实现)
对不起,您提到的 `KeyGenerator` 属于 Java 的 `javax.crypto.KeyGenerator`,但在 Python 的 `Crypto.Cipher.AES` 模块中并没有这个属性。在 PyCryptodome 库(Python 中常用的用于加密操作的一个库)中,创建 AES 密钥通常通过 `AES.new()` 函数,并直接传入明文密钥。
如果您想在 Python 中生成 AES 密钥,可以这样做:
```python
from Crypto.Cipher import AES
from Crypto.Random import get_random_bytes
def generate_AES_key():
key_size = 16 # AES-128 需要16字节(128位)
return get_random_bytes(key_size)
# 获取一个随机生成的 AES 密钥
secret_key = generate_AES_key()
```
在这个例子中,`get_random_bytes(key_size)` 会生成指定长度的随机字节作为 AES 密钥。
阅读全文