前言
目前常见的不可逆加密算法有以下几种:
- 一次MD5(使用率很高)
- 将密码与一个随机串进行一次MD5
- 两次MD5,使用一个随机字符串与密码的md5值再进行一次md5,使用很广泛
- 其它加密
环境准备
先安装passlib
pip install passlib
passlib 库里面会用到2个方法
- encrypt() - 生成新的值,返回密码哈希
- verify() - 根据现有哈希验证密码.
简单使用
Passlib是Python 2和3的密码散列库,它提供了30多种密码散列算法的跨平台实现,以及管理现有密码散列的框架。
它被设计用于广泛的任务,从验证/etc/shadow中的散列,到为多用户应用程序提供全强度密码散列。
from passlib.hash import pbkdf2_sha256
password = "yoyo"
hash = pbkdf2_sha256.hash("yoyo")
print(f"加密后:{hash}")
我们多运行几次,发现每次得到的结果都不一样
加密后:$pbkdf2-sha256$29000$yBljbE3JGSPknHOu1VqrtQ$YN4k3VHR.lK1eUMrbrILP2JbIq0MkBArGvgCamaqG2c
加密后:$pbkdf2-sha256$29000$PkdIKcXYuxdizDkHIGQsRQ$XX5jghW9/Ez10fsIculxWX7PZ8A5upjx0cXs.2W