繁体   English   中英

MSSQL与MySQL的密码功能等效吗?

[英]What is the MSSQL equivalent of MySQL's password function?

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

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

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

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

实际上,不应使用MySql的PASSWORD()函数来哈希密码。 从MySql 文档

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

问题在于,它使用了无盐且快速的哈希算法。 这不会给您太多保护,而是使用具有成本因素的哈希算法,例如BCrypt SCrypt或PBKDF2。 MySql不提供这种算法,因此您应该使用开发语言来计算哈希。

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

MySQL哈希函数实现

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM