有没有办法在加密相同数据时获得相同的加密密钥?

Is there any way to get same encryption key while encrypting a same data?

有没有办法在加密相同数据的同时得到相同的密钥,

For eg: If I have to encrypt a text "bacon" and the encrypted data looks like "e7b75a472b65bc4a42e7b3f78833a4d00040beba796062bf7c13d9533b149e5ec3784813dc20348fdf248d28a2982df85b83d1109623bce45f08238f6ea9bd9bb5f406427b2a40f969802635b8907a0a57944f2c12f334bd081d5143a357c173a611e1b64a"

此加密数据针对同一文本“培根”发生变化

有没有什么办法可以得到与“bacon”这个词的永久密钥相同的密钥。

输入密钥 material(secret)没有改变,但是 cryptr,GitHub 上的一个人项目,使用随机盐来派生使用 PBKDF2 的加密密钥和用于密文的随机 IV。两者都以密文为前缀,密文还包含一个标签,因为它使用 AES-GCM;因此是大密文。

您需要重新编程简单的 cryptr 模块以使用相同的盐和 IV 来获得相同的密文,但请注意,如果您使用相同的盐和 IV 加密其他明文消息,您将立即容易受到多次填充和重新计算 GMAC 身份验证密钥(GCM 的一部分)的影响。

目前cryptr使用具有静态迭代计数的 PBKDF2 从秘密(可能是也可能不是密码?)计算密钥。它还使用 16 字节的 IV 而不是 96 位/12 字节。如果你问我,这表明作者本人并不完全了解密码学。不要使用单人密码术,如果你想要特定的属性,请自己编程而不是依赖更高级别的库。