7 个版本
0.1.7 | 2023 年 11 月 20 日 |
---|---|
0.1.6 | 2023 年 5 月 4 日 |
0.1.5 | 2022 年 12 月 22 日 |
0.1.4 | 2022 年 11 月 16 日 |
0.1.0 |
|
#79 在 调试 中
20,729 每月下载量
在 tumblr_api 中使用
40KB
491 行
这是一个 derive 宏,它为具有某些字段的结构体或枚举变体实现了 std::fmt::Debug
。
此宏的目的是允许在结构体和枚举变体中轻松、可配置且高效地红化敏感数据。这可以用于在日志或任何个人数据不应暴露或存储的地方隐藏敏感数据。
使用方法
添加到您的 Cargo.toml 中
[dependencies]
veil = "0.1.7"
使用文档可以在 这里 找到。
示例
示例的详细说明可以在 这里 找到。
#[derive(Redact)]
struct CreditCard {
#[redact(partial)]
number: String,
#[redact]
expiry: String,
#[redact(fixed = 3)]
cvv: String,
#[redact(partial)]
cardholder_name: String,
}
#[derive(Redact)]
#[redact(all, variant)]
enum CreditCardIssuer {
MasterCard,
Visa,
AmericanExpress,
}
#[derive(Redact)]
#[redact(all, partial)]
struct Vehicle {
license_plate: String,
make: String,
model: String,
color: String,
}
#[derive(Debug)]
struct Policy {
id: Uuid,
name: String,
description: String,
}
#[derive(Redact)]
enum InsuranceStatus {
#[redact(all, partial)]
Insured {
#[redact(fixed = 12)]
policy: Policy,
policy_started: String,
policy_expires: String,
#[redact(skip)]
payment_card: CreditCard,
#[redact(skip)]
vehicles: Vec<Vehicle>,
},
Uninsured {
policies_available: Vec<Policy>,
},
}
环境感知
在测试环境中,可能需要完全禁用红化。您可以通过启用 非默认 功能标志 toggle
并
- 设置环境变量
VEIL_DISABLE_REDACTION
为 "1"、"true" 或 "on"(不区分大小写)来全局禁用 Veil 的红化行为。
或者
- 调用
veil::disable
函数。请参阅此 示例。
这些仅用于安全目的检查一次。
依赖项
~310–790KB
~18K SLoC