2 个不稳定版本
0.4.2 | 2021年1月16日 |
---|---|
0.3.2 | 2021年1月10日 |
#1592 in 文本处理
98KB
2K SLoC
Ptero CLI 
Ptero 是一个 CLI 文本隐写术工具,旨在用于像 Facebook 这样的社交媒体。它提供了一种编码和解码数据的方法。
它实现了这里提出的算法:这里。然而,它还包含了一个扩展的实现,称为 ELUV。有关使用方法的更多信息,请参阅工具的 help
。
该工具已在 Facebook 的 Messenger 和 Twitter 中进行了测试 - 两种方法都运行正确。您还可以在这里了解更多关于该方法的信息:这里。
开发

Rust 是此存储库中使用的首选语言。默认情况下,您必须安装标准 Rust 工具链才能开始工作。有关更多信息,请参阅官方安装页面。
编辑器
我在此项目中使用 VS Code 作为主要编辑器。我建议安装以下扩展
构建
如果您只想构建工件,请运行
cargo build
要通过 cargo
运行二进制文件,您可以发出
# Example with argument
cargo run -- -vv encode -c some_cover_text -d secret
测试和覆盖率
要运行所有测试
cargo test
通过单独的包 cargo-tarpaulin
执行覆盖率检查 - 如果您想这么做,请确保已安装它。要本地运行它,只需
cargo tarpaulin -v
代码风格检查
此项目确保它符合 clippy
规则。要确保一切正常,请运行
cargo clippy
项目结构
此项目包含二进制包和库。有关模块概述,请参阅 lib.rs,有关 CLI 二进制包的入口点,请参阅 main.rs。
脚本
比特率测量
在 scripts 目录中存在两个用于测量比特率的脚本。一个是 bitrate_for_pivot.sh,它用于在随机秘密数据上执行给定次数的平均比特率计算;另一个是 measure_bitrate.sh,它并行启动给定枢轴范围的测量,100次执行和30字节秘密数据。
后者应用于获取结果。例如
./scripts/measure_bitrate.sh 10 40 &> result
应该在项目根目录下运行。请注意,由于封面文本的容量限制,某些秘密可能未嵌入到封面文本中。
依赖项
~7–20MB
~203K SLoC