python通过hashlib库将密码hash后存入数据库

时间:2022-06-02 04:19:35

  • 通过Python将密码hash后存入MySQL数据库中,构建一个自己的密码库
    MySQL版本:5.6
    python 版本:3.6
    pycharm:community 2019.2.4
  • 创建相关表

    CREATE TABLE society.18wangcode_sha1_hash(id INT(9) AUTO_INCREMENT PRIMARY KEY,
    pwd VARCHAR(60) NOT NULL,
    hash_values VARCHAR(40) NOT NULL);

  • Python代码

    通过hashlib库将密码hash后存入数据库

    import mysqlx.connection
    import time
    import hashlib
    import mysql.connector
    print(‘begin‘.center(30, ‘*‘))
    print(‘进行中,请稍等。。。。。。。。‘)
    start = time.time()
    conn = mysql.connector.connect(host=‘192.168.137.239‘, user=‘admin‘, password=‘123456‘, database=‘society‘)
    cursor = conn.cursor()
    
    def hash(pwd):
        method = hashlib.sha1()
        method.update(pwd.encode(‘utf-8‘, errors=‘ignore‘))
        return method.hexdigest()
    
    try:
        with open(r‘C:Users11826Desktop18万条密码.txt‘, ‘r‘, encoding=‘utf-8‘, errors=‘ignore‘) as file:
            for password in file:
                cursor.execute(‘insert into society.18wangcode_sha1_hash (pwd, hash_values) values (%s, %s)‘,
                               (password, hash(password)))
    except:
        print(‘error‘)
    finally:
        cursor.close()
        conn.commit()
        conn.close()
    end = time.time()
    print(‘结束,共耗时:{:.2f}秒‘.format(end-start))

    GitHub地址