0

我需要使用 DES 编码一些字符串(不是三重 DES - 我知道有很多文章描述了如何使用 NCRYPTBYPASSPHRASE 命令)。我有钥匙和 IV。我如何使用 T-SQL 来做到这一点?有没有现成的程序或功能?

4

1 回答 1

0

这里撕下来。我没有对此进行测试,但是这个页面列出了所有的加密类型,而 DES 似乎就是其中之一。

--If there is no master key, create one now. 
IF NOT EXISTS 
    (SELECT * FROM sys.symmetric_keys WHERE symmetric_key_id = 101)
    CREATE MASTER KEY ENCRYPTION BY 
    PASSWORD = '23987hxJKL969#ghf0%94467GRkjg5k3fd117r$$#1946kcj$n44nhdlj'
GO

CREATE CERTIFICATE HumanResources037
   WITH SUBJECT = 'Employee Social Security Numbers';
GO

CREATE SYMMETRIC KEY SSN_Key_01
    WITH ALGORITHM = DES
    ENCRYPTION BY CERTIFICATE HumanResources037;
GO

-- Open the symmetric key with which to encrypt the data.
OPEN SYMMETRIC KEY SSN_Key_01
   DECRYPTION BY CERTIFICATE HumanResources037;

-- Encrypt the value 
SET @encrypted = EncryptByKey(Key_GUID('SSN_Key_01'), '555-77-4444');
于 2012-04-12T21:34:17.197 回答