无法从 WinApi crate 调用 CryptDecrypt,因为它找不到模块

Rya*_*anM 4 windows api winapi rust rust-cargo

文档中,它说该函数已存在, winapi::um::wincrypt::CryptDecrypt但是当我安装 crate 并将其引入我的项目时,一切正常,直到我尝试调用该函数,并收到以下错误消息:

error[E0433]: failed to resolve. Could not find `wincrypt` in `um`
  --> src\main.rs:68:39
   |
68 |  let decrypted_password = winapi::um::wincrypt::CryptDecrypt(password);
   |                                       ^^^^^^^^ Could not find `wincrypt` in `um`
Run Code Online (Sandbox Code Playgroud)

我的目标是从 Chrome 存储密码的计算机上的“本地数据”文件中解密密码。我正在使用Rust 中win32crypt调用的 Windows API 绑定winapi。我正在尝试chromepass在 Rust 中完成与但类似的事情。

She*_*ter 5

板条箱级文档

经常问的问题

为什么我会收到有关未解析导入的错误消息?

每个模块都基于一个功能标志,因此您必须启用相应的功能才能访问这些项目。例如,如果您想使用某些东西,winapi::um::winuser您必须启用该 winuser功能。

在这种情况下,您需要添加wincrypt

[target.'cfg(windows)'.dependencies]
winapi = { version = "0.3", features = ["wincrypt"] }
Run Code Online (Sandbox Code Playgroud)