我希望能够在ASP.NET中执行应用程序级加密,生成一个字节数组,然后将其保存到MySQL blob列。然后,我会希望它是一个选项,如果您拥有加密密钥,则可以使用MySQL的AES_DECRYPT()函数对其进行解密。这似乎应该是可能的,因为AES_DECRYPT是AES/Rijndael的实现。在ASP.NET中可以使用AES_DECRYPT解密的加密()
MySQL AES_ENCRYPT/DECRYPT函数只需将密钥和字符串作为参数进行加密/解密即可。然而,我在ASP.NET/C#中看到的用于加密的示例还涉及为Key和IV(初始化向量)指定值。这些如何影响最终的加密字节数组,以及如何在使用AES_DECRYPT进行解密时将它们考虑在内)_?
http://dev.mysql.com/doc/refman/4.1/en/encryption-functions.html#function_aes-encrypt – SLaks
显然,'AES_ENCRYPT()'使用ECB,这是不安全的,不应该使用。 – SLaks
@SLaks,抱歉,但这些评论并不是很有帮助。你的链接是我在我的问题中引用的一个旧版本的页面(没有解释)。我不确定ECB是什么,或者为什么不应该使用它。我链接到的MySQL文档说这些函数可以被认为是目前MySQL中最安全的加密函数。这是否意味着应该完全避免使用MySQL解密,并且允许MySQL解密的应用程序加密本质上是不安全的? – ilasno