91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

SQL Server中怎么防止開發人員獲取敏感數據

發布時間:2021-07-26 10:43:42 來源:億速云 閱讀:167 作者:Leah 欄目:數據庫

這篇文章給大家介紹SQL Server中怎么防止開發人員獲取敏感數據,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

***步,創建數據庫主密鑰

CREATE MASTER KEY ENCRYPTION BY PASSWORD ='SysKey'  GO

這里創建了數據庫主密鑰,比如密碼是'SysKey'。主密鑰只需要創建一次。

第二步,創建證書

CREATE CERTIFICATE MYCERT  with SUBJECT = 'My Cert'  GO

這里創建了證書MYCERT,證書的元數據中的字段為'My Cert'。證書創建一次,以后解密時需要先Open。

第三步,創建對稱密鑰

CREATE SYMMETRIC KEY MYKEY   WITH ALGORITHM = AES_256   ENCRYPTION BY CERTIFICATE MYCERT;  GO

這里基于證書MYCERT創建了密鑰MYKEY,加密算法為AES_256。加密算法有好幾種。

前三步做完之后,我們可以在資源管理器中看到我們的證書和密鑰信息,如下圖所示:

SQL Server中怎么防止開發人員獲取敏感數據

第四步:加密解密有效性測試

我們先通過變量測試加密解密的有效性:

OPEN SYMMETRIC KEY MYKEY DECRYPTION BY CERTIFICATE MYCERT;  declare @key varbinary(MAX);  set @key=EncryptByKey(key_guid('MYKEY'),'20000.00');  select @key;  select convert(varchar(100), DecryptByKey(@key));

在解密之前,要先打開我們定義的密鑰,通過:

OPEN SYMMETRIC KEY NCSK DECRYPTION BY CERTIFICATE NCSC;

這句打開密鑰,如果不先打開密鑰,返回的將會是NULL。

運行參考結果參考下圖:

SQL Server中怎么防止開發人員獲取敏感數據

第五步,準備使用的數據

為了描述方便,我們創建一個工資表變量:

declare @Salary table(   FName nvarchar(50),   FSalary varbinary(MAX));

這里要注意,存放加密數據的字段要設置成varbinary類型。

第六步,插入加密數據

插入時,要使用函數EncryptByKey對文本進行加密,通過函數key_guid獲取密鑰,加密后的數據類型為varbinary。

insert into @Salary(FName,FSalary)  values  ('張三',EncryptByKey(key_guid('MYKEY'),'20000.00')),  ('李四',EncryptByKey(key_guid('MYKEY'),'25000.00')),  ('王二',EncryptByKey(key_guid('MYKEY'),'30000.00'));

第七步:數據讀取

讀取數據時需要調用函數DecryptByKey解密,通過Convert將解密后的Varbinary轉換成varchar類型。

select *,convert(varchar, DecryptByKey(FSalary)) from @Salary;

完整的處理請參考下圖:

SQL Server中怎么防止開發人員獲取敏感數據

關于SQL Server中怎么防止開發人員獲取敏感數據就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

成都市| 洞头县| 屏东县| 宜春市| 南宁市| 济南市| 浦江县| SHOW| 南涧| 襄城县| 衡水市| 巴中市| 桐柏县| 谢通门县| 江西省| 固阳县| 台南县| 宝山区| 广东省| 保亭| 吉林省| 老河口市| 周至县| 嵩明县| 皮山县| 白朗县| 红河县| 龙山县| 乐昌市| 上虞市| 娄烦县| 夏河县| 安陆市| 海城市| 永仁县| 衡阳市| 双辽市| 镇康县| 东宁县| 延川县| 盘锦市|