小编Jas*_* B.的帖子

SQL AES_256 加密和解密

我有一个奇怪的加密和解密问题。加密在 SQL 2008 R2 中运行良好,我们使用的是 TRIPLE_DES_3KEY。这在 SQL 2016 中已被弃用,因此我们正在测试 AES_256。我的原始字符串不断被切断,不确定它在做什么或如何解释。我确定我错过了一些东西,但不确定是什么。详情如下。谢谢!

我的对称密钥:

CREATE SYMMETRIC KEY SK03  
WITH  
    ALGORITHM = AES_256  
    ENCRYPTION BY PASSWORD = 'ThisIsMyAES_256EncryptionTest';  
Run Code Online (Sandbox Code Playgroud)

我的表:

CREATE TABLE [dbo].[_EncryptionTest](  
    [OriginalValue] [varchar](max) NULL,  
    [Encryptedvalue] [varbinary](8000) NULL  
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
Run Code Online (Sandbox Code Playgroud)

我的存储过程:

CREATE PROCEDURE [dbo].[_usp_EncryptionTest]  
    @InputString varchar(MAX),  
    @InputString2 varchar(MAX)  

AS  
BEGIN  
    SET NOCOUNT ON;  

    OPEN SYMMETRIC KEY SK03 DECRYPTION BY PASSWORD='ThisIsMyAES_256EncryptionTest'  

    INSERT INTO _EncryptionTest
        (OriginalValue, Encryptedvalue)
    VALUES (
        @InputString
        ,ENCRYPTBYKEY(Key_GUID('SK03'), CONVERT(VARBINARY,@InputString2))
        )

    CLOSE SYMMETRIC KEY SK03;

END  
Run Code Online (Sandbox Code Playgroud)

我的测试 SQL:

EXEC _usp_EncryptionTest 'Spring …
Run Code Online (Sandbox Code Playgroud)

security encryption sql-server-2016

1
推荐指数
1
解决办法
9285
查看次数

标签 统计

encryption ×1

security ×1

sql-server-2016 ×1