在Python中,pywin32
库提供了一个名为win32crypt
的模块,该模块有一个名为CryptUnpotectData
的方法,可以使用Windows API解密Windows加密数据。
这是我在Python中应用它的方式:
import win32crypt
# ...
password = win32crypt.CryptUnprotectData(EncrytedPassword, None, None, None, 0)
我找到winapi
的绑定但我找不到CryptUnprotectData
函数,我找到的最接近的是the CryptDecrypt
function。
这是我在Rust中的实现:
extern crate winapi;
let decrypted_password = winapi::um::wincrypt::CryptDecrypt(/* ???? */);
我不知道如何使用此功能,以及它是否会解密我的加密密码字符串并将其返回。我很乐意,如果有经验的Rust用户可以通过示例或解释为我揭示这一点。
答案 0 :(得分:2)
如果您转到documentation for winapi(从crate page和README链接),您会找到一个大搜索框:
如果您键入" CryptUnprotectData"进入该搜索框,您将收到3个结果:
单击第一个结果将引导您进入特定功能CryptUnprotectData
。如Cannot call CryptDecrypt from the WinApi crate because it could not find the module中所述,您需要使用相应的功能标志来启用该功能(dpapi
)。
正如README所述:
为什么没有关于如何使用任何东西的文件?
这个箱子只不过是对Windows API的原始绑定。如果你 希望知道如何使用Windows API中的各种功能 可以在MSDN上查找各种详细的项目 文档。
此功能的使用是described on MSDN。