小编Blo*_*tac的帖子

sql server'in'或'或' - 这是最快的

好的,所以我有一个问题:

select distinct(a)
from mytable
where
b in (0,3)
Run Code Online (Sandbox Code Playgroud)

什么会更快,上面或

select distinct(a)
from mytable
where
b = 0
or
b = 3
Run Code Online (Sandbox Code Playgroud)

有一般规则吗?

谢谢

sql sql-server sql-server-2005

9
推荐指数
3
解决办法
6072
查看次数

应该执行密码比较的最佳做法是什么

在对网站进行用户身份验证时,是否应在数据库或网站中进行哈希生成和比较?

我的论点是网站应该将用户提供的密码(可能由Web服务器加密)传递给数据库.然后数据库用salt重新加密它并比较哈希值.数据库响应Web服务器用户的凭据是否有效.这样,最小的数据库离开数据库,基本上是是或否,没有存储的凭证信息.缺点是,数据库必须做更多的工作.

另一个论点是工作应该在Web服务器上完成.这里,Web服务器将创建哈希并从数据库请求存储的哈希并进行比较.在这种情况下,需要将salt从数据库传递回Web服务器以创建哈希.但是,随着Web服务器数量的增加,共享工作.

我个人认为第二种方法是潜在的安全风险.如果Web服务器受到危害,可以从数据库请求salt和哈希并轻松破解.

执行上述操作的最佳做​​法是什么?我忽视/遗失了什么吗?

谢谢

security authentication web

6
推荐指数
1
解决办法
168
查看次数