#byte-array #debugging #sensitive #output #formatting #information #wrapper

redacted

用于控制可能敏感的字节数组调试格式的包装器

9 个版本

0.2.0 2022 年 8 月 29 日
0.2.0-alpha.02021 年 11 月 11 日
0.1.2 2021 年 11 月 8 日
0.0.0 2021 年 11 月 7 日

#887 in 开发工具

Download history 132/week @ 2024-04-23 399/week @ 2024-04-30 252/week @ 2024-05-07 392/week @ 2024-05-14 155/week @ 2024-05-21 208/week @ 2024-05-28 356/week @ 2024-06-04 262/week @ 2024-06-11 168/week @ 2024-06-18 496/week @ 2024-06-25 440/week @ 2024-07-02 658/week @ 2024-07-09 345/week @ 2024-07-16 645/week @ 2024-07-23 654/week @ 2024-07-30 573/week @ 2024-08-06

2,388 每月下载量
用于 2 crates

0BSD 许可证

17KB
388

Redacted

提供用于控制 DebugDisplay 行为的透明包装类型,包括完全删除敏感字节数组。

此库旨在帮助控制敏感类型(如加密类型)在日志中的显示,包括完全删除它们以防止通过调试输出泄露敏感信息。然而,它更有一般用途,也可以简单地用于强制将字节数组以十六进制等形式在调试输出中显示。

示例

完全删除内容

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