sql-server-2005 – 一个GUID好盐吗?是我的注册/登录过程有任何
发布时间:2020-12-12 16:17:53 所属栏目:MsSql教程 来源:网络整理
导读:如果我的数据库里面的表格如下所示: userid uniqueidentifier username varchar(20) password varbinary(max) 当用户提交(注册)时,我将用户/传递发送到存储过程. 存储过程创建一个新的GUID(使用NEWID()),然后使用SQL Server的HashBytes(sha1)函数根据提供的G
如果我的数据库里面的表格如下所示:
userid uniqueidentifier username varchar(20) password varbinary(max) 当用户提交(注册)时,我将用户/传递发送到存储过程. 存储过程创建一个新的GUID(使用NEWID()),然后使用SQL Server的HashBytes(sha1)函数根据提供的GUID密码创建密码,然后将值插入到上表中. 当用户提交(登录)时,我将用户/传递发送到存储过程. 存储过程查找用户名,并抓取用户名将guid密码的哈希字节(sha1)与密码字段进行比较. 你看到这个逻辑里有什么缺陷吗? 解决方法这是非常标准的 – 一个准则将适用于盐.盐的一点是为了防止 Rainbow attacks,几乎任何值都是随机的(即使不是随机的,那么至少是不同的),每个用户都会做的.(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |