SQL - HASHBYTES (資料編碼)

  • 1006
  • 0
  • SQL
  • 2015-03-25

摘要:SQL - HASHBYTES (資料編碼)

Description

 

有時會有一種需求是希望能做到預防user在網址列亂輸入參數、或做一些簡單的保護機制,因此希望帶一個key值做驗證的動作,SQL(2005↑)這邊提供了一個function  'HASHBYTES',可以把參數做編碼。

AS Below

http://www.dotblogs.com.tw/justforgood/Default.aspx?username='justforgood'&key='0xf7be0ff2e2047bbda2e323c1d6896284'

先來參考一下Sytax如何使用

 

Usage

We can see the spec of this function on here

 

由此可看到Return Value是一個varbinary的型態,因此為了轉為字串,可以如此

 

 

 

Display

We can try and show as below

select sys.fn_varbintohexstr(HASHBYTES('md5','justforgood'))

 

Maybe u will ask. How to protect ? If other people know how to use HASHBYTES, they will know the protect code.

Yep !   I would add a key to the parameter which just us know.  

select sys.fn_varbintohexstr(HASHBYTES('md5','justforgood' + 'our key'))