主頁(yè) > 知識(shí)庫(kù) > 關(guān)于SQL Server加密與解密的問(wèn)題

關(guān)于SQL Server加密與解密的問(wèn)題

熱門標(biāo)簽:萬(wàn)利達(dá)綜合醫(yī)院地圖標(biāo)注點(diǎn) 實(shí)體店地圖標(biāo)注怎么標(biāo) 在電子版地圖標(biāo)注要收費(fèi)嗎 地圖標(biāo)注如何弄全套標(biāo) 武漢AI電銷機(jī)器人 股票配資電銷機(jī)器人 外呼系統(tǒng)會(huì)封嗎 電銷機(jī)器人 深圳 南京電銷外呼系統(tǒng)哪家好

一、PassPhrase加密

1.1、概要簡(jiǎn)述

1)對(duì)于不涉及證書及密鑰的應(yīng)急的數(shù)據(jù)加密,可以直接基于用戶提供的密碼來(lái)加密和解密數(shù)據(jù)。

2)通行短語(yǔ)(PassPhrase)是允許存在空格的密碼。這個(gè)PassPhrase不會(huì)存儲(chǔ)在數(shù)據(jù)庫(kù)中,因而也就意味著不會(huì)被使用存儲(chǔ)的系統(tǒng)數(shù)據(jù)"破解"。同時(shí),可以使用空格創(chuàng)建一個(gè)長(zhǎng)的、易于記憶的句子來(lái)加密和解密敏感數(shù)據(jù)。

3)PassPhrase支持的數(shù)據(jù)列類型有nvarchar、varchar、nchar、char、varbinary、binary。

1.2、加密函數(shù)

CREATE FUNCTION dbo.EncryptPass(@EnPass VARCHAR(32))
  RETURNS VARBINARY(MAX)
AS 
BEGIN
  DECLARE @Result VARBINARY(MAX)
  SET @Result=EncryptByPassPhrase('HelloWorld',@EnPass)
  RETURN @Result
END

1.3、解密函數(shù)

CREATE FUNCTION dbo.DecryptPass(@DePass VARBINARY(MAX))
  RETURNS VARCHAR(32)
AS 
BEGIN 
  DECLARE @Result VARCHAR(32)
  SET @Result=CONVERT(VARCHAR,DecryptByPassPhrase('HelloWorld',@DePass))
  RETURN @Result
END

1.4、結(jié)果測(cè)試

SELECT dbo.EncryptPass('測(cè)試字符串') AS RESULT
SELECT dbo.DecryptPass(0x0100000045FE8873D07BFB747D33D81D1C1E06CA3EC10D718CF603E395D4493BFBFC5683) AS RESULT
SELECT dbo.DecryptPass(dbo.EncryptPass('測(cè)試字符串')) AS RESULT

1.5、執(zhí)行結(jié)果

二、證書加密

2.1、概要簡(jiǎn)述

1)證書可以在數(shù)據(jù)庫(kù)中加密和解密數(shù)據(jù)。

2)證書包含密鑰對(duì)、證書擁有者的信息、證書可用的開(kāi)始和結(jié)束過(guò)期日期,同時(shí)還包含公鑰和密鑰,前者用來(lái)加密,后者用來(lái)解密。

3)SQL Server可以生成它自己的證書,也可以從外部文件或程序集載入。證書比非對(duì)稱密鑰更易于移植,可以在數(shù)據(jù)庫(kù)中很方便地重用。

2.2、創(chuàng)建證書

CREATE CERTIFICATE TestCert
ENCRYPTION BY PASSWORD='HelloWorld'
WITH SUBJECT='Hello World', START_DATE='2021-01-20', EXPIRY_DATE='2021-12-31'

2.3、加密函數(shù)

CREATE FUNCTION dbo.EncryptCert(@EnPass VARCHAR(32))
  RETURNS VARBINARY(MAX)
AS 
BEGIN
  DECLARE @Result VARBINARY(MAX)
  SET @Result=EncryptByCert(Cert_ID('TestCert'),@EnPass)
  RETURN @Result
END

2.4、解密函數(shù)

CREATE FUNCTION dbo.DecryptCert(@DePass VARBINARY(MAX))
  RETURNS VARCHAR(32)
AS 
BEGIN 
  DECLARE @Result VARCHAR(32)
  SET @Result=CONVERT(VARCHAR,DECRYPTBYCERT(Cert_ID('TestCert'),@DePass,N'HelloWorld'))
  RETURN @Result
END

2.5、結(jié)果測(cè)試

SELECT dbo.EncryptCert('測(cè)試字符串') AS RESULT
SELECT dbo.DecryptCert(0x836021834D8D25E4DAD0CD26767A77A7FFF9CE9BDCA7BDE72E418118DB58DFB8AF6325B7A9D1D6C2D5D43800120A5C5D212BC4A645D10A065A147C5E97B419DAF6DC203598E376AE4A520B45D145F2C2A6BAE23B49AD3EA45BDAAC1FBD78E8402195DDA0842CA5A89942D03C5D7B82F7E8241D8BD698115C78CEBD5AC0066C6C) AS RESULT
SELECT dbo.DecryptCert(dbo.EncryptCert('測(cè)試字符串')) AS RESULT

2.6、執(zhí)行結(jié)果

到此這篇關(guān)于關(guān)于SQL Server加密與解密的問(wèn)題的文章就介紹到這了,更多相關(guān)SQL Server加密與解密內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • SQLSERVER對(duì)加密的存儲(chǔ)過(guò)程、視圖、觸發(fā)器進(jìn)行解密(推薦)
  • SQLSERVER加密解密函數(shù)(非對(duì)稱密鑰 證書加密 對(duì)稱密鑰)使用方法代碼
  • SQL Server儲(chǔ)過(guò)程加密和解密原理深入分析

標(biāo)簽:汕頭 濟(jì)源 臺(tái)州 安徽 泰安 濟(jì)寧 廣東 武威

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《關(guān)于SQL Server加密與解密的問(wèn)題》,本文關(guān)鍵詞  關(guān)于,SQL,Server,加密,與,解密,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《關(guān)于SQL Server加密與解密的問(wèn)題》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于關(guān)于SQL Server加密與解密的問(wèn)題的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章