标签: c# encryption aes
我正在尝试使用我在此处找到的实现来加密文件: http://msdn.microsoft.com/en-us/magazine/cc164055.aspx 这个实现只加密16个字节,所以我的问题是: 我可以一次只在16个字节的整个文件中使用它吗?它会削弱加密吗?
答案 0 :(得分:2)
使用内置AES功能:AesCryptoServiceProvider。
Here's如何使用它来加密文件的示例。
尽可能避免编写自己的加密例程 - 库版本可能比替代版本更好地优化和更安全。
答案 1 :(得分:1)
AES是块密码,块大小为128位;这就是为什么它一次加密16个字节的原因。
分组密码可用于各种modes。如果您分别独立地加密每组16个字节,那么您将使用ECB mode中的密码,这是最弱的模式,因为它不会隐藏明文中的模式。最好以一种模式加密文件,以便为同一明文的多次出现产生不同的密文,例如CBC mode,这样明文中的模式就不会转换为模式中的模式。密文。