全部,在SQL Server和經典ASP中處理以varbinary存儲的哈希密碼
對不起 - 我是下面大多數主題(SQL,ASP)的新手。反正...
我有一個要求用戶提供用戶名和密碼登錄一個非常簡單的Web應用程序。
前端創建密碼的鹽漬SHA1哈希值,並將其發佈(與用戶名一起)的ASP頁面。
那ASP頁面獲取數據,調用在SQL Server數據庫的存儲過程,並通過用戶名和散列密碼;存儲過程將信息寫入「用戶」表。
表中的密碼列的類型是varbinary。
至於我可以告訴大家,當ASP獲取密碼(password =的Request.Form( 「密碼」)),它是一個字符串。
我可以 '絕招' 的SQL Server爲處理它作爲VARBINARY如果我創建查詢是這樣的:
查詢= 「EXEC sp_save_user @用戶名= '」 &用戶名& 「',@密碼= 0X」 &密碼
督察 - 我的前面加上「0X」的口令字符串。
不過,我讀過,這是一個更好的做法是使用參數化查詢:
例如:SET objParam = objCommand.CreateParameter( 「@密碼」,204,1,40,密碼)
但是,這是因爲該參數應該是二進制(204),但密碼是字符串。
那麼,如何將「4a5e6a8d521ed487b81c91e131cf27e8dae9b783」這樣的字符串轉換爲ASP中的二進制文件?
非常感謝提前!
在VBScript中進行轉換也很容易,並且您可以在升級到較新的UI技術時保持數據庫接口清潔。 – 2009-04-22 11:59:16