4 个版本
0.2.1 | 2020 年 9 月 19 日 |
---|---|
0.2.0 | 2020 年 9 月 3 日 |
0.1.1 | 2019 年 10 月 25 日 |
0.1.0 | 2019 年 7 月 24 日 |
#245 in 密码学
30,778 每月下载量
用于 40 个 crate (12 直接使用)
36KB
706 行
Rust 对象标识符库
对象标识符是国际电信联盟(ITU)的标准,用于全球唯一地引用对象、事物和概念。此crate提供用于构建、解析和格式化OID的数据结构和方法。
基本使用
运行示例
您可以使用cargo运行examples/basic.rs中的示例代码
cargo run --example basic
解析 OID 字符串表示
use oid::prelude::*;
let oid = ObjectIdentifier::try_from("0.1.2.3")?;
解析 OID 二进制表示
use oid::prelude::*;
let oid = ObjectIdentifier::try_from(vec![0x00, 0x01, 0x02, 0x03])?;
将 OID 编码为字符串表示
use oid::prelude::*;
let oid = ObjectIdentifier::try_from("0.1.2.3")?;
let oid: String = oid.into();
assert_eq!(oid, "0.1.2.3");
将 OID 编码为二进制表示
use oid::prelude::*;
let oid = ObjectIdentifier::try_from(vec![0x00, 0x01, 0x02, 0x03])?;
let oid: Vec<u8> = oid.into();
assert_eq!(oid, "0.1.2.3");
使用 cargo-edit 添加依赖
cargo add oid
对于 !#[no_std]
crate,使用 cargo-edit 添加依赖
cargo add oid --no-default-features
直接在 Cargo.toml
中添加依赖
[dependencies]
oid = "0.1.0"
对于 !#[no_std]
crate,直接在 Cargo.toml
中添加依赖
[dependencies]
oid = { default-features = false }
构建
构建过程已通过 cargo-make 自动化。如果您不使用 cargo-make,您可以在Makefile.toml中查看相关的手动构建过程。
使用Rust标准库构建平台
cargo make
为嵌入式平台构建或 #![no_std]
cargo make build_no_std
模糊输入
为 cargo-fuzz 提供了配置,用于对公开方法参数的输入进行模糊测试。
模糊二进制OID解析
cargo make fuzz_parse_binary
模糊字符串OID解析
cargo make fuzz_parse_string
贡献者 ✨
感谢这些出色的人(emoji key)
Sean Bruton ⚠️ 💻 |
Benoît C. ⚠️ 💻 |
snake66 ⚠️ 💻 |
本项目遵循 all-contributors 规范。欢迎各种形式的贡献!
许可协议
根据您的选择,在 Apache License, Version 2.0 或 MIT 许可协议 下获得许可。除非您明确表示,否则任何有意提交以包含在此库中的贡献,根据 Apache-2.0 许可协议定义,应按上述方式双许可,不附加任何额外条款或条件。
依赖关系
~180KB