6 个版本 (破坏性更新)
0.5.0 | 2021 年 8 月 28 日 |
---|---|
0.4.0 | 2021 年 8 月 3 日 |
0.3.0 | 2021 年 1 月 11 日 |
0.2.0 | 2020 年 7 月 13 日 |
0.0.0 | 2020 年 1 月 12 日 |
#398 在 认证
3,650 每月下载量
用于 5 crates
29KB
482 行
pinentry
pinentry 是一个库,用于与各种平台上可用的 pinentry 二进制文件交互。
用法
将此行添加到您的 Cargo.toml
pinentry = "0.5"
请参阅文档以获取示例。
pinentry
需要 Rust 版本 1.51 或更高版本。
许可证
根据以下任一许可证授权
- Apache 许可证 2.0 版,(LICENSE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)
- MIT 许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
由您选择。
贡献
除非您明确声明,否则您提交给作品以供包含的任何有意贡献,根据 Apache-2.0 许可证的定义,应按上述方式双重许可,而不附加任何额外条款或条件。
lib.rs
:
pinentry
是一个库,用于与各种平台上可用的 pinentry 二进制文件交互。
示例
请求密码短语或 PIN
use pinentry::PassphraseInput;
use secrecy::SecretString;
let passphrase = if let Some(mut input) = PassphraseInput::with_default_binary() {
// pinentry binary is available!
input
.with_description("Enter new passphrase for FooBar")
.with_prompt("Passphrase:")
.with_confirmation("Confirm passphrase:", "Passphrases do not match")
.interact()
} else {
// Fall back to some other passphrase entry method.
Ok(SecretString::new("a better passphrase than this".to_owned()))
}?;
请求用户确认
use pinentry::ConfirmationDialog;
if let Some(mut input) = ConfirmationDialog::with_default_binary() {
input
.with_ok("Definitely!")
.with_not_ok("No thanks")
.with_cancel("Maybe later")
.confirm("Would you like to play a game?")?;
};
显示消息
use pinentry::MessageDialog;
if let Some(mut input) = MessageDialog::with_default_binary() {
input.with_ok("Got it!").show_message("This will be shown with a single button.")?;
};
依赖项
~3–11MB
~132K SLoC