0

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

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

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

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

4

1 回答 1

0

实际上,MySql 的函数 PASSWORD() 不应该用于散列密码。来自 MySql文档

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

问题是,它使用了一种无盐且快速的散列算法。这不会为您提供太多保护,而是使用具有成本因素的哈希算法,例如 BCrypt SCrypt 或 PBKDF2。MySql 不提供这样的算法,所以你应该用你的开发语言计算哈希。

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

MySQL 哈希函数实现

于 2015-03-13T09:07:08.713 回答