ASP.NET中的加密,可以使用AES_DECRYPT()在MySQL中解密

ila*_*sno 1 c# mysql asp.net encryption encryption-symmetric

我希望能够在ASP.NET中执行应用程序级加密,生成一个字节数组,然后将其保存到MySQL blob列.我希望它是一个选项,如果你有加密密钥,你将能够使用MySQL的AES_DECRYPT()函数解密它.这似乎应该是可能的,因为AES_DECRYPT是AES/Rijndael的实现.

MySQL AES_ENCRYPT/DECRYPT函数只需要一个密钥和字符串来加密/解密为参数.但是,我在ASP.NET/C#中看到的用于加密的示例还涉及指定Key和IV(初始化向量)的值.这些如何影响最终的加密字节数组,以及在使用AES_DECRYPT解密时如何将它们考虑在内?

SLa*_*aks 5

可以通过设置RijndaelManaged使用ECB模式来实现.

但是,ECB模式不安全,应该避免.


通常,数据库是执行加密的非常糟糕的地方.

如果您能够加密数据库中的数据,则意味着密钥和密钥都在同一个地方; 这违背了加密的目的.

您应该尽可能远离密文存储密钥; 使用任何类型的SQL加密函数通常表示加密策略中的基本设计缺陷可能带来灾难性后果.