Using Hash Algorithms in SQL Server

Sambil menunggu waktu berbuka puasa, saya coba isi untuk bereksplorasi mengenai pengamanan data menggunakan Hash Algorithms di SQL Server.

SQL Server yang saya gunakan saat ini adalah SQL Server 2008, jadi artikel ini belum saya coba di SQL Server versi yang lain.

Sama-sama kita ketahui bahwa ada 2 bentuk untuk melakukan Enkripsi. pertama adalah Enkripsi satu arah, yang kedua adalah Enkripsi dua arah. Enkripsi satu arah pemahaman paling simplenya adalah begitu kita melakukan enkripsi terhadap suatu data, maka sangat tidak mungkin untuk bisa melakukan proses dekripsi. Sedangkan Enkripsi dua arah bisa melakukan proses Dekripsi. Salah satu contoh Enkripsi dua arah bisa dilihat disini

http://suherman.asia/w2/cell-column-level-encryption.html

Hash Algorithms adalah salah satu metode untuk melakukan enkripsi satu arah. Namun perlu dicatat bahwa metode enkripsi satu arah sangat tidak disarankan untuk meng enkripsi data seperti Tanggal, Nilai Gaji pegawai atau misalkan nama-nama kota. Karena data –data tersebut bisa dicoba dengan Brute Force Attack.

Sample penggunaan Hash Algorithms di SQL Server :

DECLARE @Pass1 varchar(20),   
@Pass2 varchar(20),   
@Pass3 varchar(20)   
   
set @Pass1='SUHERMAN_BANJARMASIN'   
set @Pass2='SUHERMAN_banjarmasin'   
set @Pass3='suherman_banjarmasin'   
    
select Hashbytes('MD5',@Pass1) Pass1  
select Hashbytes('MD5',@Pass2) Pass2  
select Hashbytes('MD5',@Pass3) Pass3  
go

bila T-SQL diatas dijalankan, hasilnya adalah sbb :

hash

tampak pada gambar, walaupun data text yang di enkripsi sama-sama terdiri dari huruf ‘suherman_banjarmasin’, namun karena ditulis dengan cara yang berbeda, maka hasil enkripsinya juga berbeda.

Salahsatu keuntungan menggunakan Hash algorithms adalah bila enkripsi tersebut dibuat menggunakan aplikasi Java, .NET atau php sekalipun, hasilnya adalah sama. Hash Algorithms juga sering digunakan untuk mengenkripsi password untuk login.

demikian, semoga bermanfaat.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.