标签: passlib

CryptContext 哈希如何知道使用什么秘密?

我有以下代码片段:

from passlib.context import CryptContext

pwd_context = CryptContext(schemes=["bcrypt"], deprecated="auto")
pwd_context.hash(password)
Run Code Online (Sandbox Code Playgroud)

这里描述的是。

我不明白的是,如果它始终返回相同的散列密码而不考虑另一个 Secret_key 例如散列密码值,这怎么可能是安全的?

passlib fastapi

8
推荐指数
1
解决办法
5796
查看次数

ModuleNotFoundError:尽管已安装 passlib,但没有名为“passlib”的模块

我有一个尝试 import 的 python 模块from passlib.hash import pbkdf2_sha256,但是在运行该模块时,我收到 ModuleNotFoundError。

我尝试在我的基本环境(venv)中运行该模块,并尝试通过诗歌安装、pip install、pip install --force-reinstall 重新安装 passlib,但都没有让模块看到正在安装 passlib。我完全不明白为什么这个库不起作用。

完整的错误消息是:

诗歌运行 src/api-keychain/main.py --help

Traceback (most recent call last):
  File "XXX/src/api-keychain/main.py", line 5, in <module>
    from crypto import encrypt_key, decrypt_key
  File "XXX/src/api-keychain/crypto.py", line 5, in <module>
    from passlib.hash import pbkdf2_sha256
ModuleNotFoundError: No module named 'passlib'
Run Code Online (Sandbox Code Playgroud)

python passlib

7
推荐指数
1
解决办法
2万
查看次数

无法将passlib导入python3

尝试将 passlib 导入 python3 并失败:

$ pip freeze | grep lib
passlib==1.6.5

$ python3
Python 3.4.2 (default, Oct  8 2014, 10:45:20)

>>> import passlib
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named 'passlib'
Run Code Online (Sandbox Code Playgroud)

python pip python-3.x passlib

5
推荐指数
1
解决办法
2975
查看次数

散列密码与Python中的原始密码不匹配

我有两个休息端点,一个用于注册用户,另一个用于登录用户.这是我用来散列用户密码并将散列密码存储在数据库中的代码,

from passlib.hash import pbkdf2_sha256
def _get_hashed_password(self, password):
    return pbkdf2_sha256.encrypt(password, rounds=200000, salt_size=16)
Run Code Online (Sandbox Code Playgroud)

现在在登录端点上我使用此代码来验证散列密码,

password = data['password']
hash = pbkdf2_sha256.encrypt(password, rounds=200000, salt_size=16)
pbkdf2_sha256.verify(user.hashed_password, hash)
Run Code Online (Sandbox Code Playgroud)

这种方法失败并且显然是因为两个密码不同,

$pbkdf2-sha256$200000$ai0FoDTG2BuDkDKGEIJQKg$Ik06dr61.2rRMDwZCZMdVq.zMe5887.ksDxvmSXFRwE
$pbkdf2-sha256$200000$pHTuHYNwLoXQeu8dI0QoxQ$2z4cZl9Njz9X/bxNtWCZzzeplWO.jTZA2v5lvcmgFE8
Run Code Online (Sandbox Code Playgroud)

我想知道如何让它工作?

python hash passlib

-1
推荐指数
1
解决办法
528
查看次数

标签 统计

passlib ×4

python ×3

fastapi ×1

hash ×1

pip ×1

python-3.x ×1