Suherman

Cell and Column-Level Encryption

kadangkala kita menyimpan sebuah data kedalam sebuah tabel di database yang sifat datanya sangat rahasia misalnya menyimpan data username dan password dari pengguna sebuah aplikasi.

dalam artikel ini saya mencoba berbagi cara mengenai melakukan enkripsi dengan menggunakan asymmetric key.

pertama kita siapkan sebuah tabel T_Pengguna yang berisi field Fusername dan Fpassword

USE [AdventureWorks]



GO




 




CREATE TABLE [dbo].[T_Pengguna](




[FUsername] [nvarchar](50) NOT NULL,




[FPassword] [varbinary](max) NOT NULL,




CONSTRAINT [PK_T_Pengguna] PRIMARY KEY CLUSTERED




(




[FUsername] ASC




)




) ON [PRIMARY]




 




GO


kemudian langkah selanjutnya kita buat terlebih dahulu asymmetric key nya terlebih dahulu.

create asymmetric key AsymKeyAdvWorks



authorization dbo with algorithm = RSA_2048




encryption by password= N'P@ssw0rdYgB4ik'


nah sampai sini kita bisa mulai ber operasi untuk melakukan enkripsi terhadap sebuah cell atau field. kita akan coba input 2 buah user :

Declare @Usrnme1 Varchar(50) = 'Pengguna_1'



Declare @UsrnmePsw1 Varchar(50) = 'PaswwordK3reN'




Declare @Usrnme2 Varchar(50) = 'Pengguna_2'




Declare @UsrnmePsw2 Varchar(50) = 'B4nJar8arU'




 




insert into T_Pengguna values(@Usrnme1,




ENCRYPTBYASYMKEY(ASYMKEY_ID('AsymKeyAdvWorks'),@UsrnmePsw1))




 




insert into T_Pengguna values(@Usrnme2,




ENCRYPTBYASYMKEY(ASYMKEY_ID('AsymKeyAdvWorks'),@UsrnmePsw2))




 




go


nah sampai sini kita telah berhasil melakukan enkripsi untuk Password-password tadi yang dimasukkan kedalam tabel T_Pengguna.

image

Mungkin untuk kasus ini sebenarnya tidak perlu dilakukan proses dekripsi. Namun apabila suatu waktu diperlukan perlakuan deskripsi field FPassword dapat dilakukan dengan T-SQL berikut :

select Fusername,CONVERT(varchar(max),



DecryptByAsymKey(ASYMKEY_ID('AsymKeyAdvWorks'),




FPassword,N'P@ssw0rdYgB4ik')) as pw from T_Pengguna


Ok, selamat mencoba !

Comments

Suherman said:

Sambil menunggu waktu berbuka puasa, saya coba isi untuk bereksplorasi mengenai pengamanan data menggunakan

# September 1, 2010 3:46 PM

suherman said:

Sambil menunggu waktu berbuka puasa, saya coba isi untuk bereksplorasi mengenai pengamanan data menggunakan

# October 3, 2010 7:04 PM

Hash Algorithms in SQL Server : Aan Farianto Dot COM said:

Pingback from  Hash Algorithms in SQL Server : Aan Farianto Dot COM

# February 28, 2013 6:42 AM

Hash Algorithms in SQL Server : Aan Farianto Dot COM said:

Pingback from  Hash Algorithms in SQL Server : Aan Farianto Dot COM

# February 28, 2013 6:42 AM