2010-01-27 128 views
0

我需要對.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 

回答

0

你不能。如果在SQL EncryptByKey函數中進行了加密,則必須使用DecryptByKey進行解密。加密數據存儲的格式是專有的,並不公開。

+0

這正是我所害怕的。我需要在Sql Server(由傳統ASP代碼使用)和.Net方面都具有相同的加密機制。我想另外一個選擇是使用SQL Server的CLR。感謝一堆! – User 2010-01-27 18:48:17