在mysql上从拉丁语转换成utf-8-密码有特殊字符会发生什么?

0mkxixxg  于 2021-06-17  发布在  Mysql
关注(0)|答案(1)|浏览(537)

我的输入表单和mysql数据库是用拉丁语编码的
当我完全更改为utf-8时,我无法更改数据库中的密码(它们是编码的)。我假设,如果人们在密码中使用特殊字符,并且新的登录表单是utf-8,那么他们将被锁定。对吗(例如,如果他们使用ä (字母)
解决方案?我可以试着检查他们的登录密码(当他们试图登录时)和他们输入的拉丁转换。。。如果匹配,我会用utf8输入自动重新设置他们的密码。
是这样吗?

hpxqektj

hpxqektj1#

table mysql.user 你在问什么?或者这是新的插件?
该表中的密码不是实际的密码,而是通过单向加密输入的,然后存储在与ascii、latin1和utf8兼容的文本中。别担心那张表里的那列。
如果您正在进行自己的密码管理,那么您就遗漏了一些信息。你是用utf8还是拉丁文1连接的?让我们看看 SHOW CREATE TABLE . 您是否在不加密的情况下存储pwd(因此更易受攻击)?
那你是怎么转换table的呢?有几种错误的方法。我建议你现在就检查一下,免得乱七八糟。将非ascii字符存储在某个表中,然后执行以下操作 SELECT col, HEX(col) FROM ... ; 我们可以看到它是否被正确地存储,而不是“双重编码”或其他令人讨厌的东西。更多讨论

相关问题