【问题标题】:execute Generated password to Database对数据库执行生成的密码
【发布时间】:2021-06-28 14:53:45
【问题描述】:

我想将散列数据发送到数据库。这是我的数据:

0MPA00JQ'Q:0TGF6T?>TE)pRc1.kA<<\I<b3@ZaR<BXq].k#1A6mm"`>:s_c<+RjO:,Y$i2`Y;E

但是因为数据有很多符号,所以遇到如下错误:

mysql.connector.errors.ProgrammingError: 1064 (42000): 你有一个 SQL 语法错误;检查与您对应的手册 MySQL 服务器版本,以便在附近使用正确的语法 '0MPA00JQ'Q:0TGF6T?>TE)pRc1.kA>:s_c<+RjO:,Y$i2Y;E"", "' 在第 1 行

我尝试了很多方法,但都没有出现同样的错误!我使用的方法:

sql = """INSERT INTO {}(disc, data) VALUES (""{}"", ""{}"")""".format(tb,hash_for_data(disc),hash_for_data(data))

sql = """INSERT INTO %s(disc, data) VALUES (""%s"", ""%s"")""" % (TABLE, HASHED_DATA_1, HASHED_DATA_2)

还有其他一些方法

【问题讨论】:

  • 你可以尝试破解encrypt你的hashed数据,然后尝试存储它!
  • @Psycho 但如何?你可以给个参考
  • @Psycho 数据经过哈希处理!我只想执行到数据库
  • 我知道它是散列的,但它由特殊的特殊字符组成,因此编译器无法正确理解字符串的开头和结尾。所以,如果你再次加密它(以便你以后可以解密),它可能会变成一个合适的字符串

标签: python mysql sql python-3.x database


【解决方案1】:

唯一可行的方法是最终对哈希数据进行哈希处理:

base64.b16encode(HASHED DATA)

这样输出等于没有符号的数字

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-11-20
    • 1970-01-01
    • 1970-01-01
    • 2013-12-20
    • 2014-12-17
    • 1970-01-01
    • 2013-10-15
    • 1970-01-01
    相关资源
    最近更新 更多