CREATE DATABASE Dbavimal GO USE Dbavimal GO --Create MasterKey CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'DBAVimal!'; GO -- Create Certificate CREATE CERTIFICATE [EncryptionCert] WITH SUBJECT = 'DBAEncryption' GO -- Symmetric Key CREATE SYMMETRIC KEY SymmetricDBAVimalKey WITH ALGORITHM = AES_192 ENCRYPTION BY CERTIFICATE [EncryptionCert] GO --Use Symmetric Key OPEN SYMMETRIC KEY SymmetricDBAVimalKey DECRYPTION BY CERTIFICATE [EncryptionCert] GO ----------------------------- CREATE FUNCTION [dbo].[fn_Encrypt] (@Data VARCHAR(max)) RETURNS VARBINARY(256) AS BEGIN DECLARE @Result VARBINARY(256) SET @Result = EncryptByKey(Key_GUID('SymmetricDBAVimalKey'), @Data) RETURN @Result END GO ------------------------------- CREATE FUNCTION [dbo].[fn_Decrypt] (@Data VARCHAR(max)) RETURNS VARCHAR(max) AS BEGIN DECLARE @Result VARCHAR(max) SET @Result = DecryptByKey(@Data) RETURN @Result END GO ----------------------------------- --Test the result (Same way you can store your data on tables) DECLARE @Str VARCHAR(500) = 'Hello' PRINT '====Original Data============' PRINT @Str PRINT '=============================' DECLARE @EncryptedData VARCHAR(256) DECLARE @DecryptedData VARCHAR(256) SET @EncryptedData = [dbo].[fn_Encrypt](@Str) PRINT '====Encrypted Data===========' PRINT @EncryptedData PRINT '=============================' SET @DecryptedData = [dbo].[fn_Decrypt](@EncryptedData) PRINT '====Data After Decryption====' PRINT @DecryptedData PRINT '=============================' USE master GO DROP DATABASE Dbavimal
Because sharing knowledge is good. (MSBI, SQL SERVER, Python, Pyspark, Azure Data Factory, Databricks, Machine Learning & Cloud Services)
Encrypt And Decrypt Data Using Certificate In SQL Server
Subscribe to:
Posts (Atom)