什么是MSSQL相当于MySQL的密码功能?

时间:2015-03-12 09:21:48

标签: mysql sql-server function passwords alternate

MSSQL Server中MYSQL的PASSWORD()函数的等效函数是什么?我必须将MySQL查询迁移到MSSQL Server。

以下是我的源代码的示例查询: -

Select * from users where username = 'demo' and pasword = PASSWORD('demo');

此功能用于创建用户帐户创建和身份验证。

1 个答案:

答案 0 :(得分:0)

实际上,MySql的函数PASSWORD()不应该用于哈希密码。来自MySql docu

  

PASSWORD()由MySQL服务器中的身份验证系统使用;您   不应该在自己的应用程序中使用它。

问题是,它使用了无盐和快速哈希算法。这并没有给你很多保护,而是使用带有成本因子的哈希算法,比如BCrypt SCrypt或PBKDF2。 MySql不提供这样的算法,因此您应该使用开发语言计算哈希值。

我强烈建议您切换到更安全的算法,为了向后兼容,您可以查看"定义"回答,他试图实现MySql行为:

MySQL Hashing Function Implementation