社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  DATABASE

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

bodomalo • 4 年前 • 1114 次点击  

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

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

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

这是该走的路吗?

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

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

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

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

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