9 个版本
0.2.0 | 2022 年 8 月 29 日 |
---|---|
0.2.0-alpha.0 | 2021 年 11 月 11 日 |
0.1.2 | 2021 年 11 月 8 日 |
0.0.0 | 2021 年 11 月 7 日 |
#887 in 开发工具
2,388 每月下载量
用于 2 crates
17KB
388 行
Redacted
提供用于控制 Debug
和 Display
行为的透明包装类型,包括完全删除敏感字节数组。
此库旨在帮助控制敏感类型(如加密类型)在日志中的显示,包括完全删除它们以防止通过调试输出泄露敏感信息。然而,它更有一般用途,也可以简单地用于强制将字节数组以十六进制等形式在调试输出中显示。
示例
完全删除内容
use redacted::FullyRedacted;
let item = FullyRedacted::new(vec![0_u8; 32]);
let output = format!("{:?}", item);
assert_eq!(output, "[32 BYTES REDACTED]");
以十六进制形式渲染内容
use redacted::{Redacted, formatter::FullHex};
let item: Redacted<_, FullHex> = Redacted::new(vec![0_u8; 8]);
let output = format!("{:?}", item);
assert_eq!(output, "0x0000000000000000");
以截断的十六进制字符串形式渲染内容
use redacted::{Redacted, formatter::TruncHex};
let item: Redacted<_, TruncHex<8>> = Redacted::new(vec![0_u8; 32]);
let output = format!("{:?}", item);
assert_eq!(output, "0x00000000...(32 bytes)");
依赖项
~230KB