PASSWORD()
MSSQL Server 中与 MYSQL 功能等效的功能是什么?我必须将 MySQL 查询迁移到 MSSQL Server。
以下是我的源代码的示例查询:-
Select * from users where username = 'demo' and pasword = PASSWORD('demo');
此功能用于创建用户帐户创建以及身份验证。
PASSWORD()
MSSQL Server 中与 MYSQL 功能等效的功能是什么?我必须将 MySQL 查询迁移到 MSSQL Server。
以下是我的源代码的示例查询:-
Select * from users where username = 'demo' and pasword = PASSWORD('demo');
此功能用于创建用户帐户创建以及身份验证。
实际上,MySql 的函数 PASSWORD() 不应该用于散列密码。来自 MySql文档:
PASSWORD() 由 MySQL 服务器中的身份验证系统使用;您不应该在自己的应用程序中使用它。
问题是,它使用了一种无盐且快速的散列算法。这不会为您提供太多保护,而是使用具有成本因素的哈希算法,例如 BCrypt SCrypt 或 PBKDF2。MySql 不提供这样的算法,所以你应该用你的开发语言计算哈希。
我强烈建议切换到更安全的算法,为了向后兼容,您可以查看“定义”答案,他尝试实现 MySql 行为: