Py学习  »  DATABASE

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

bodomalo • 5 年前 • 2197 次点击  

我的输入表单和mysql数据库是用拉丁语编码的

当我完全更改为utf-8时,我无法更改数据库中的密码(它们是编码的)。 我想,如果人们在密码中使用特殊字符,而新的登录表单是utf-8,那么他们将被锁定。对的?(例如,如果使用和字母)

解决方案? 我可以试着根据输入的拉丁语转换来再次检查他们的登录密码(当他们试图登录时)。如果匹配,我会用utf8输入自动重新设置他们的密码。

这是该走的路吗?

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/40584
 
2197 次点击  
文章 [ 1 ]  |  最新文章 5 年前
Rick James
Reply   •   1 楼
Rick James    6 年前

桌子 mysql.user 你在问什么?或者这是一个新的插件?

该表中的密码不是实际的密码,而是通过单向加密输入,然后存储在与ascii、latin1和utf8兼容的文本中。别担心表中的那一列。

如果您正在进行自己的密码管理,那么您已经漏掉了一些信息。你…吗 连接 是UTF8还是Latin1?让我们看看 SHOW CREATE TABLE . 您是否在不加密的情况下存储pwd(因此更容易受到攻击)?

你是怎么把桌子换成的?有几个 错误的 方法。我建议你检查一下 现在 在事情变得更糟之前。在某个表中存储一个非ascii字符,然后 SELECT col, HEX(col) FROM ... ;我们可以看到它是否被正确存储,而不是“双重编码”或其他讨厌的。更多 discussion