0

我们在 MySQL 5.6 中实现了一个存储过程,它使用以下命令检查用户登录;

CREATE DEFINER=`root`@`localhost` PROCEDURE `CheckLogin`(iUserId INTEGER, sPassword varchar(25))
BEGIN
    SELECT UserId FROM UserTable
    WHERE Password = SHA2(sPassword,256)
    And UserId = iUserId;
END

如果密码匹配,则通过返回 UserId,存储过程可以正常工作。

目前我们启用了 General MySQL Logging,我注意到他们输入的用户密码是纯文本的,并且在日志文件中可见。

考虑到这种安全风险,将 SHA2 功能移动到我的实际 ASP.NET 应用程序中并使用 C# 散列密码是否更好?

另一种选择是我只是不启用 MySQL 常规日志记录。

4

0 回答 0