1 个不稳定版本
0.1.0 | 2021年12月5日 |
---|
#8 在 #proposed
14KB
243 行
HTTP 摘要头
是易于扩展以支持额外的摘要算法和加密库的 http-digest-headers 的部分实现。有关详细信息,请查看文档
lib.rs
:
特性
加密支持
当前支持 OpenSSL 和 Ring(默认为 openssl)。但是,该库设计得可以轻松扩展以支持额外的加密库。只需发送我一个 PR 即可!
- use_openssl: 这是默认设置
- use_ring: 关闭默认功能并添加
use_ring
[dependencies]
http_digest_headers = { version="0.1.0", default-features = false, features ="use_ring" }
示例
生成摘要头值
use http_digest_headers::{DigestHeader, DigestMethod, Error};
fn make_digest_header() -> Result<String, Error> {
// Generate some simple test data. This can be anything.
let data = b"this is some data";
// Create a builder, and digest with both SHA-256 and SHA-512.
let builder = DigestHeader::new()
.with_method(DigestMethod::SHA256, data)?
.with_method(DigestMethod::SHA512, data)?;
// Generate the resulting strings for the digest header value.
let header_value = format!("{}", builder);
// The result:String can now be used in a digest header. For instance,
// for reqwest, you might use client.header("digest", result).
Ok(header_value)
}
依赖
~0.6–4MB
~102K SLoC