关于SQL Server加密和解密
  • 作者:admin
  • 发表时间:2021-03-03 07:52
  • 来源:未知

本文主要介绍了SQL Server加密和解密的相关知识。这篇文章对大家都很详细,对大家的学习或工作都有一定的参考价值。需要的朋友可以参考一下。

首先,密码加密

1.1.简介

1)对于不涉及证书和密钥的紧急数据加密,可以根据用户提供的密码直接对数据进行加密和解密。

2)密码是允许空格的密码。该密码不会存储在数据库中,这意味着它不会被存储的系统数据“破解”。同时,空格可以用来创建一个长且易于记忆的句子来加密和解密敏感数据。

3)PassPort支持的数据列类型有nvarchar、varchar、nchar、char、varbinary和binary。

1.2、加密功能

CREATE FUNCTION dbo。EncryptPass(@EnPass VARCHAR(32))

返回变量二进制(最大值)

如同

开始

DECLARE @Result VARBINARY(MAX)

SET @ Result=encryptby密码(' HelloWorld ',@EnPass)

返回@结果

结束

1.3.解密功能

CREATE FUNCTION dbo。DecryptPass(@ DePass VARBINIC(MAX))

返回VARCHAR(32)

如同

开始

DECLARE @Result VARCHAR(32)

SET @Result=CONVERT(VARCHAR,decryptby密码(' HelloWorld ',@DePass))

返回@结果

结束

1.4.结果测试

SELECT dbo。结果加密通过(“测试字符串”)

SELECT dbo。解密通过(0x 0100000045 Fe 8873d 07 bfb 747d 33d 81 D1 C1 e 06 ca 3 EC 10d 718 cf 603 e 395d 4493 bfb C5 683)结果

选择dbo . decryptpass(dbo . encryptpass('测试字符串'))作为结果

1.5、实施结果

二、证书加密

2.1.简介

1)证书可以对数据库中的数据进行加密和解密。

2)证书包含密钥对、证书所有者的信息、证书可用的起止失效日期,还包含公钥和密钥,前者用于唐山微信小程序加密,后者用于解密。

3)SQL Server可以生成自己的证书,也可以从外部文件或程序集加载。证书比非对称密钥更容易移植,并且可以在数据库中轻松重用。

2.2、创建证书

创建证书测试证书

密码加密='HelloWorld '

主题='你好,世界',开始日期='2021-01-20 ',截止日期='2021-12-31 '

2.3、加密功能

CREATE FUNCTION dbo。EncryptCert(@EnPass VARCHAR(32))

返回变量二进制(最大值)

如同

开始

DECLARE @Result VARBINARY(MAX)

SET @ Result=EncryptByCert(Cert _ ID(' TestCert '),@EnPass)

返回@结果

结束

2.4、解密功能

CREATE FUNCTION dbo。DecryptCert(@ Depass VARBINIC(MAX))

返回VARCHAR(32)