1
我使用AES 128位CTR模式以4字节的随机初始化向量(由NodeJS的crypto.randomBytes()生成)对UTF-8字符串+当前时间戳进行加密。AES加密+ base64编码值仍然是唯一的吗?
最后我base64编码整个输出,使用URL友好的base64变体。
问题:由于时间戳+随机数据,AES输出应该是唯一的。但是最终的base64字符串也保证是唯一的吗?
在此先感谢!
我使用AES 128位CTR模式以4字节的随机初始化向量(由NodeJS的crypto.randomBytes()生成)对UTF-8字符串+当前时间戳进行加密。AES加密+ base64编码值仍然是唯一的吗?
最后我base64编码整个输出,使用URL友好的base64变体。
问题:由于时间戳+随机数据,AES输出应该是唯一的。但是最终的base64字符串也保证是唯一的吗?
在此先感谢!
是的,Base64是一种可逆变换,所以如果输入是唯一的,则输出也是唯一的。
由于独特的初始化向量,即使没有时间戳,密文也应该是唯一的。 IV仅适用于CTR模式;一个随机的四是没有必要的,但它也不应该伤害。 – ntoskrnl