我有一个类似" abd123456
"的密码,我使用 AES-256 加密进行加密。经过 Base-64 编码后,结果将是 44 个字符的字符串:
IXCgaa5igYxzKTRTP+PMT7Bt9iIWiF6EWLmnKqZtlXI=
我如何知道 .NET Framework 的RijndaelManaged AES 加密类在加密期间使用的盐?
我知道被加密的明文和加密密钥。但是我怎么知道使用的盐呢?
我有一个类似" abd123456
"的密码,我使用 AES-256 加密进行加密。经过 Base-64 编码后,结果将是 44 个字符的字符串:
IXCgaa5igYxzKTRTP+PMT7Bt9iIWiF6EWLmnKqZtlXI=
我如何知道 .NET Framework 的RijndaelManaged AES 加密类在加密期间使用的盐?
我知道被加密的明文和加密密钥。但是我怎么知道使用的盐呢?
.IV
您可以从AES 加密对象的属性中读取 salt 。
从 MSDN 文档:
每当您创建SymmetricAlgorithm类之一的新实例时,IV 属性都会自动设置为新的随机值。
创建加密器后只需阅读 .IV。然后你可以保存盐,或者用你自己想要的盐代替它。盐不必是秘密的,甚至不必是密码随机的——它只需要每次都不同。