算法-C#中的RijndaelManaged类是否等同于AES加密?我问这个问题是为了确认C#中的RijndaelManaged类是否等同于AES加密。据我所知,RijndaelManaged是实现AES加密的首选算法。有人可以证实这一点吗?在Web项目中使用RijndaelManaged算法是否安全?谢谢:)AES算法在1997年至2000年由NIST举办的竞赛中被选中。获胜者是一种名为Rijndael的算法。NIST指定AES算法的块大小为128位。最终的AES规范不同于原始的Rijndael规范,因为Rijndael支持128、160、192、224和256位的块大小。换句话说,“AES”和“Rijndael”是相同的算法,只是“AES”被限制为128位的块大小。块大小与密钥大小无关。所讨论的算法支持128、192和256位密钥。更长的密钥不一定“更强”,因为AES具有某些理论上的弱点。无论哪种方式,128位密钥在可预见的未来都足够长。正如EkoostikMartin所说,AES直到今天仍然牢不可破。但是密码学很难,即使是专业人士也不会每次都做对。在不知道自己在做什么的情况下使用原始加密原语可能会导致一些不好的事情。换句话说,密码很少是“安全链”中最薄弱的一环。如果你想使用AES,只需使用AesManaged类-http://msdn.microsoft.com/en-us/library/system.security.cryptography.aesmanaged%28v=vs.100%29.aspxRijndaelManaged类你reference不完全符合AES规范,主要是因为它提供了块大小的选项。AesManaged使用指定的128位块大小。至于Web项目的“安全”,它是一种非常强大的加密方法(据我所知从未被破解),但必须正确使用。存在一些差异,特别是更改块大小和密钥大小的能力。(据我所知,AES使用固定的块大小128)如果你在Rijndael中使用CFB,块大小将根据反馈大小进行调整,这意味着你不能保证块大小为128。为了确保等价,你必须使用128的块大小,并且要么避免CFB,要么确保反馈大小也为128。另一件需要注意的事情:如果您将静态IV与CFB一起使用,那么您的密码将是确定性的。避免这种情况,因为前缀IV很容易被识别并用于解密数据。(不好意思翻旧帖,这里没有这个信息)以上是C#学习教程:算法——C#中的RijndaelManaged类是否等同于AES加密?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
