Вие можете използвайте SQLCLR за извикване на криптиране от C#, въпреки че това е грешен подход. Ако трябва да направите персонализиран алгоритъм, трябва да го капсулирате в SQLCLR функция, така че да може да се използва в оператор UPDATE или дори INSERT или SELECT или навсякъде. Нещо като:
public class SP
{
[Microsoft.SqlServer.Server.SqlFunction(IsDeterministic = true)]
public static SqlString EncryptByAES(SqlString TextToEncrypt)
{
return DoSomething(TextToEncrypt.Value);
}
}
След това можете да използвате тази функция, както следва:
UPDATE tb
SET tb.FieldA = EncryptByAES(tb.FieldA)
FROM dbo.TableName tb
WHERE tb.FieldA some_test_to_determine_that_FieldA_is_not_alreay_encrypted;
НО , преди да напишете персонализиран алгоритъм за криптиране, може да искате да проверите няколкото вградени сдвоени функции ENCRYPTBY / DECRYPTBY, които може да направят точно това, от което се нуждаете: