Python---多种方式对密码加密

对于密码在数据库中的存储怎样加密呢???

Python---多种方式对密码加密_第1张图片

 用户密码存储方式:

1、直接明文保存,比如用户设置的密码是“123456”,直接将“123456”保存在数据库中,这种是最简单的保存方式,也是最不安全的方式。但实际上不少互联网公司,都可能采取的是这种方式。

2.使用MD5、SHA1等单向HASH算法保护密码,使用这些算法后,无法通过计算还原出原始密码,而且实现比较简单,因此很多互联网公司都采用这种方式保存用户密码,曾经这种方式也是比较安全的方式,但随着彩虹表技术的兴起,可以建立彩虹表进行查表破解,目前这种方式已经很不安全了。

例如:

import hashlib


def make_password(password):
    # md5
    md5 = hashlib.md5()
    # 转码
    sign_utf8 = str(password).encode(encoding="utf-8")
    # 加密
    md5.update(sign_utf8)
    # 返回密文
    return md5.hexdigest()

使用时直接调用即可:

 

 

当然了,还有其他方法,例如:

首先还要安装werkzeug
pip install werkzeug

导入
from werkzeug.security import check_password_hash, generate_password_hash

使用:

在视图函数中,调用 check_password_hash,  generate_password_hash 方法!!!

你可能感兴趣的:(python-tornado,数据库,python,tornado,hash)