13个版本
0.4.3 | 2023年3月2日 |
---|---|
0.4.1 | 2022年7月29日 |
0.3.0 | 2021年3月31日 |
0.2.1 | 2020年10月2日 |
0.1.0 | 2019年3月20日 |
在 无标准库 中排名 29
每月下载量 26,044
在 14 个包(13 个直接)中使用
42KB
854 行
字符串混淆
编译时字符串常量混淆,适用于Rust。
字符串常量本身以混淆形式嵌入,并在本地解混淆。必须在该常量生成的相同语句中使用对该临时值的引用。有关更高级用法的说明,请参阅文档。
如果您正在寻找混淆格式字符串(如 format!
、println!
等),我还有一个包 fmtools
,通过启用可选依赖项 obfstr
可自动将字符串混淆应用于您的格式字符串。
示例
obfstr!
宏返回解混淆的字符串作为临时值
assert_eq!(obfstr::obfstr!("Hello 🌍"), "Hello 🌍");
wide!
宏提供编译时UTF-16字符串常量
let expected = &['W' as u16, 'i' as u16, 'd' as u16, 'e' as u16, 0];
assert_eq!(obfstr::wide!("Wide\0"), expected);
random!
宏提供编译时随机值
const RND: i32 = obfstr::random!(u8) as i32;
assert!(RND >= 0 && RND <= 255);
编译时随机值基于 file!()
、line!()
、column!()
和一个固定种子以确保可重复性。此固定种子以文本形式存储在环境变量 OBFSTR_SEED
中,可以按需更改。
授权
根据 MIT 许可证 授权,请参阅 license.txt。
贡献
除非您明确声明,否则您提交给工作的任何贡献都应按照上述方式授权,没有任何额外的条款或条件。