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