#secret #memory #clear #secure #wipe #access-token #secret-management

no-std redactedsecret

这是官方Secrecy crate [https://github.com/iqlusioninc/crates/]的分支。为机密管理提供的包装类型和特性,有助于确保它们不会被意外复制、记录或以其他方式暴露(尽可能多),并在释放时确保机密安全地从内存中清除

2 个版本

0.4.1 2019年10月31日
0.4.0 2019年10月6日

#2222 in 加密


用于schemeguardian

Apache-2.0 OR MIT

17KB
230

红字机密

Secret包装类型,用于更仔细地处理机密值(例如密码、加密密钥、访问令牌或其他凭据)。

用法

use redactedsecret::{Secret, SecretString, SecretVec, SecretBox};

示例

  1. 在任一类型(泛型类型)上创建一个Secret
use redactedsecret::{Secret, ExposeSecret};

let dummy_PIN = Secret::new(1234);

assert_eq!(dummy_PIN.expose_secret().to_owned(), 1234);
  1. SecretString创建一个字符串
use redactedsecret::{SecretString, ExposeSecret};

let dummy_PIN = SecretString::new("I am a string PIN".to_owned());

assert_eq!(dummy_PIN.expose_secret().to_owned(), "I am a string PIN".to_owned());
  1. SecretBox类型创建一个Boxed类型
use redactedsecret::{Secret, ExposeSecret};

let dummy_PIN = Box::new(Secret::new(1234));

assert_eq!(dummy_PIN.expose_secret().to_owned(), 1234);
  1. SecretVec创建一个向量
use redactedsecret::{SecretVec, ExposeSecret};

let dummy_PIN = SecretVec::new(vec![1234]);

assert_eq!(dummy_PIN.expose_secret().to_owned(), vec![1234]);

依赖项

~29–285KB