乱码乱a∨中文字幕,在线免费激情视频,亚洲欧美久久夜夜潮,国产在线网址

  1. <sub id="hjl7n"></sub>

    1. <sub id="hjl7n"></sub>

      <legend id="hjl7n"></legend>

      當(dāng)前位置:首頁(yè) >  站長(zhǎng) >  數(shù)據(jù)庫(kù) >  正文

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

       2021-03-02 17:12  來(lái)源: 腳本之家   我來(lái)投稿 撤稿糾錯(cuò)

        阿里云優(yōu)惠券 先領(lǐng)券再下單

      這篇文章主要介紹了SQL Server加密與解密的相關(guān)知識(shí),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

      一、PassPhrase加密

      1.1、概要簡(jiǎn)述

      1)對(duì)于不涉及證書(shū)及密鑰的應(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é)果

      二、證書(shū)加密

      2.1、概要簡(jiǎn)述

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

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

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

      2.2、創(chuàng)建證書(shū)

      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)文章希望大家以后多多支持腳本之家!

      來(lái)源:腳本之家

      鏈接:https://www.jb51.net/article/204470.htm

      申請(qǐng)創(chuàng)業(yè)報(bào)道,分享創(chuàng)業(yè)好點(diǎn)子。點(diǎn)擊此處,共同探討創(chuàng)業(yè)新機(jī)遇!

      相關(guān)標(biāo)簽
      sqlserver

      相關(guān)文章

      熱門排行

      信息推薦