繁体   English   中英

Windows 的 python crypt 等价物

[英]python crypt equivalent for windows

我正在尝试在 Windows 的 Python 中找到与UnixCrypt等效的函数。 到目前为止,我发现 python 确实提供了一个crypt 函数,但它仅适用于 Unix 操作系统。 对于 Windows 操作系统,有Cairnarvon 的 crypt.pypasslib 的 des_crypt 因此,举个例子,要对密码进行哈希处理,您只需将密码和盐(2 个字符的字符串)传递给函数:

from passlib import hash
import crypt as cryptC
pwd = "password"
salt = "JQ"
#Cairnarvon's crypt.py
print(cryptC.crypt(pwd,salt))
# passlib's des crypt
print(hash.des_crypt.encrypt(pwd,salt=salt))

上面的两个函数输出相同的哈希值:

JQMuyS6H.AGMo

然而,这并不能证明它们给出了与 UnixCrypt 或 Python 的 crypt 相同的哈希值。 为了确认这一点,我需要一个 unix 操作系统,但我不需要。 有人可以使用上面示例中的密码和盐为我提供来自 UnixCrypt 的哈希吗? 谢谢。

按照要求:

Python 3.8.3 (default, May 17 2020, 18:15:42) 
[GCC 10.1.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import crypt
>>> crypt.crypt("password", "JQ")
'JQMuyS6H.AGMo'
$ uname -ampo
Linux matthew-laptop 5.7.6-arch1-1 #1 SMP PREEMPT Thu, 25 Jun 2020 00:14:47 +0000 x86_64 GNU/Linux

此外,如果您可以选择算法,我会推荐更新且速度较慢的算法,例如PBKDF2bcrypt

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM