Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
There are multiple ways to protect (encrypt) data with SQL 2005: either using certificate or password.
Here is my code sample to use a password to encrypt identity data (assuming the identity table name as tblIdentity_SmartCard table, the identity data column as Identiy_PIN, and GUID as column with primary key):
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'replace_with_real_password'
CREATE ASYMMETRIC KEY asymPW1 WITH ALGORITHM = RSA_1024 ENCRYPTION by Password = 'Str0ngPa$$w0rd'
CREATE SYMMETRIC KEY symPW1 WITH ALGORITHM = DES
ENCRYPTION BY ASYMMETRIC KEY asymPW1
OPEN SYMMETRIC KEY symPW1 DECRYPTION BY ASYMMETRIC KEY asymPW1 WITH Password = 'Str0ngPa$$w0rd'
Declare @keyGUID UNIQUEIDENTIFIER
SET @keyGUID = (Select key_guid from sys.symmetric_keys WHERE name = 'symPW1')
Insert Into tblIdentity_SmartCard (Identiy_PIN) Values (EncryptByKey(@keyGUID, 'replace_with_PIN_data',1))
Select GUID, Identiy_PIN from tblIdentity_SmartCard
Select GUID, Convert(varchar,DecryptByKey(Identiy_PIN, 1))
from tblIdentity_SmartCard
Close SYMMETRIC KEY symPW1