#digest #header #spec #proposed #openssl #http #default

http_digest_headers

对提议的 httpbis-digest-headers 规范的部分实现

1 个不稳定版本

0.1.0 2021年12月5日

#8#proposed

MIT 许可证

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