3

我在 WinRT 中的数据加密实现中使用 SymmetricAlgorithmNames::AesCbc 和 SymmetricAlgorithmNames::DesCbc 算法。

我需要确保这些算法至少是 128 位算法,这在算法名称中并不明显。如果我们使用 OpenSLL(例如 EVP_aes_128 _cfb128 ()),情况也是如此。

谁能告诉我SymmetricAlgorithmNames::AesCbc 是 128 位还是 256 位或其他

提前致谢。

4

1 回答 1

1

该算法会自动使用您提供的任何大小的密钥。当您调用SymmetricKeyAlgorithmProvider.CreateSymmetricKey并传入IBufferasKeyMaterial时,该 `IBuffer 中包含的任何内容都将确定加密的位长度。如果你传入 16 个随机生成的字节,那将是 (16*8) 128 位对称加密。如果你传入 32 个字节,那将给你 256 个字节。

正如规范中所说,您可以使用它CryptographicBuffer.GenerateRandom来获取一些安全的随机字节。

快乐编码!

于 2013-07-19T17:15:23.447 回答