使用Python密码库创建密码

使用Python密码库创建密码,python,Python,我尝试使用另一个用户发布的以下内容作为对不同问题的回答: >>> # import the hash algorithm >>> from passlib.hash import sha256_crypt >>> # generate new salt, and hash a password >>> hash = sha256_crypt.encrypt("toomanysecrets") >>> ha

我尝试使用另一个用户发布的以下内容作为对不同问题的回答:

>>> # import the hash algorithm
>>> from passlib.hash import sha256_crypt

>>> # generate new salt, and hash a password
>>> hash = sha256_crypt.encrypt("toomanysecrets")
>>> hash
但是,当我从passlib.hash import sha256_crypt键入
时,我得到以下错误:

Traceback (most recent call last):   File "<stdin>", line 1, in
<module> ImportError: No module named passlib.hash
>>>

您将收到“权限被拒绝”错误。试一试

sudo pip install passlib


安装passlib被拒绝,因此需要运行以下命令
sudo
'

sudo pip安装passlib


归功于@drowness、@wnnmaw和@cmd

看起来您现在可以使用非常光滑的:

sqlalchemy_utils.types.password.PasswordType
然后SQLAlchemy将为您进行编码/解码。例如:

class User(Base):
    password = Column(PasswordType())
然后设置和获取是相当标准的python代码,所有实际操作都发生在幕后:

user = User()

# set password
user.password = 'foo'   # '$5$rounds=80000$H.............'

# check password
user.password == 'foo'  # true

在您的站点包中查找
passlib
,并确认其中有
sha256\u crypt
it@wnnmaw-它甚至没有找到
passlib.hash
@drowness,呃,对,是的,这就是我的意思。检查一下它声称的东西是否真的存在there@wnnmaw在操作中添加了结果。注意到有错误。我不懂Python,有什么办法可以解决吗?现在就开始。需要做些什么。谢谢大家!这是正确的答案,但我很犹豫是否接受它,因为其他人在上面的评论中帮助了我。为了公平起见,我将自己回答这个问题,并接受上面提到的问题。不过还是要谢谢你!
class User(Base):
    password = Column(PasswordType())
user = User()

# set password
user.password = 'foo'   # '$5$rounds=80000$H.............'

# check password
user.password == 'foo'  # true