全部,在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