如何在windows / visual basic上散列字符串与python的crypt.crypt()相同?

时间:2018-01-11 15:58:21

标签: linux windows vb.net hash crypt

我有几个(旧的)Linux系统,用户和密码保存在本地数据库中。这个过程很简单。使用python,系统会要求您输入密码,使用python的crypt模块处理输入的纯文本密码,然后将散列密码保存到数据库中。

例如,

# Password.py   (not editable)
Debug = 1
import getpass
plain_pass = getpass.getpass()
# e.g. plain_pass="pass"
import crypt
crypt_pass = crypt.crypt( plain_pass, r'$1$xx')
# The salt r'$1$xx' can not be changed
if Debug:
    print (crypt_pass)   # Result:    $1$xx$Ik.nuioJufb1VPeTbLQ.y/

(暂时忽略安全问题) 我想提供一个简单的文本文件,其中存储了用户名和散列密码:

Sample Password.txt file
user1 $1$xx$Ik.nuioJufb1VPeTbLQ.y/
user2 $1$xx$x2gmo6Eob2udHl0tNU2Zw0          (password is 123)

Windows服务器将托管所有Linux机器的文件,它还提供用户界面,用户可以在其中修改密码或创建新用户。

使用windows(VB或任何其他win应用程序),如何生成与python的crypt.crypt()相同的哈希

pass  --->  $1$xx$Ik.nuioJufb1VPeTbLQ.y/
123   --->  $1$xx$x2gmo6Eob2udHl0tNU2Zw0
hello --->  $1$xx$zrPVW4APkg66JghmAwqmA.
üfñ2  --->  $1$xx$CPthCTb1yiYoLfl3VmrJl/

0 个答案:

没有答案