在.Net中加密/解密Sql Server 2005加密列NET

问题描述:

我需要对.Net代码中的数据库(Sql Server 2005)级别加密的数据进行加密/解密。 Rjindael使用256位密钥长度和128位块大小进行管理相当于AES 256算法,但我不知道如何去匹配Key和IV,这样Sql Server和.Net加密方法都会产生相同的结果。在.Net中加密/解密Sql Server 2005加密列NET

有没有人遇到过这个?

Sql Server的关键是使用类似于下面的一个代码生成:

create symmetric key SomeKeyName 
    with 
    algorithm = AES_256, 
    key_source = 'SomePassword', 
    identity_value = 'SomePassword' 
    encryption by certificate SomeCertificate 

你不能。如果在SQL EncryptByKey函数中进行了加密,则必须使用DecryptByKey进行解密。加密数据存储的格式是专有的,并不公开。

+0

这正是我所害怕的。我需要在Sql Server(由传统ASP代码使用)和.Net方面都具有相同的加密机制。我想另外一个选择是使用SQL Server的CLR。感谢一堆! – User 2010-01-27 18:48:17