MySQL - 用 Python 替换列的所有字符

狐诚

所以我正在用 Python 3.7 编写一个 Python 程序,并通过一个名为 PyMySQL 的模块与我的数据库进行交互。它基本上允许您通过 Python/您的程序在数据库上运行查询。

我一直在搜索 SO 和 Google 来解决我的问题,但我什么也没找到,所以我要问一下。

假设我在“用户”表中有 3 列“用户 ID”、“用户名”和“密码”。我想用每个字符的星号(*)替换“密码”列下的各种字符(字母、数字和特殊字符),如果可能,我希望在创建新条目时进行替换,所以我不必在所有列上加载整个数据库,而是在单个新条目上加载。

罗根乔希

第一的; 一个警告。不要继续与你想要做什么。这是一个严重的安全风险,实际上会使事情变得更糟首先,您不应该使用明文密码,但是将它们全部转换*会使情况变得更糟,因为我要做的就是猜测序列长度,从而显着降低复杂性(更不用说,使您的所有用户凭据无效)。

您应该使用库来生成密码的哈希值。有多个,我选择 Flask 使用的基础版本,因为它不需要设置并且还会对密码加盐您还可以使用hashlib等。

from werkzeug.security import check_password_hash, generate_password_hash

password = 'hello123'
pass_hash = generate_password_hash(password)
print(pass_hash) # STORE THIS

print(check_password_hash(pass_hash, 'hello'))    # False
print(check_password_hash(pass_hash, 'hello123')) # True

不要尝试创建自己的哈希算法,始终依赖专业包。

你应该能够简单地解决这个问题:

cursor.execute("""
               SELECT user_id, password
               FROM users
               """)
data = cursor.fetchall()
hashed = []
for user, password in data:
    hashed.append([generate_password_hash(password), user])

cursor.executemany("""
                   UPDATE users
                   SET password = %s
                   WHERE user_id = %s
                   """, (hashed))

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Python用“ _”替换所有出现的空格

来自分类Dev

Python用*替换字符串中的所有大写字符

来自分类Dev

Python用*替换字符串中的所有大写字符

来自分类Dev

用python中的其他字符替换字符串中的所有数字

来自分类Dev

Python,用格式化的字符串替换所有数组值

来自分类Dev

python用所有可能的组合替换多个值的子字符串

来自分类Dev

用 Python 中的唯一 ID 替换所有出现的字符串(给定它们的开始和结束索引)

来自分类Dev

用Python批量插入MySQL

来自分类Dev

用mysql连接列

来自分类Dev

mysql用join删除所有行

来自分类Dev

我可以用mysqli_盲目替换所有mysql_函数吗?

来自分类Dev

用python中的单词替换特殊字符

来自分类Dev

Python:用读入文件替换字符错误

来自分类Dev

python用数字替换字符串

来自分类Dev

用sed替换mysql设置

来自分类Dev

用JavaScript替换网址中的所有特殊字符,例如“é”

来自分类Dev

PHP用连字符替换所有空格

来自分类Dev

用jQuery替换div中的所有特定字符

来自分类Dev

用#替换所有字符,最后4个除外

来自分类Dev

用jQuery替换div中的所有特定字符

来自分类Dev

Scala:用 %20 替换所有空格字符

来自分类Dev

Python用/替换/

来自分类Dev

熊猫:用频繁值替换列中的所有值

来自分类Dev

用该变量的数学替换列中的所有值

来自分类Dev

熊猫-用空的python dict对象替换DataFrame中的所有NaN值

来自分类Dev

Python Regex 用 char 替换所有直接后跟 char 的换行符

来自分类Dev

MySQL查询用值替换字符串

来自分类Dev

在 MySQL 上用 pdo 替换字符串

来自分类Dev

Python-用下划线替换所有空格并将目录中的所有文件转换为小写

Related 相关文章

热门标签

归档