9 个版本

0.1.8 2024年4月12日
0.1.7 2023年5月27日
0.1.6 2022年6月15日
0.1.5 2022年2月21日
0.1.3 2021年4月29日

#1694 in 编码

Download history 47575/week @ 2024-04-14 50116/week @ 2024-04-21 33710/week @ 2024-04-28 44824/week @ 2024-05-05 40051/week @ 2024-05-12 39011/week @ 2024-05-19 31748/week @ 2024-05-26 29274/week @ 2024-06-02 32166/week @ 2024-06-09 34456/week @ 2024-06-16 35384/week @ 2024-06-23 26703/week @ 2024-06-30 32947/week @ 2024-07-07 33299/week @ 2024-07-14 31098/week @ 2024-07-21 26239/week @ 2024-07-28

124,626 每月下载量
8 个crate中使用 (4 直接)

MIT/Apache

23KB
289

Aliri Base64

Esperanto for "access"

CI

Aliri 是一组crate,旨在帮助构建访问控制,尤其是Web API的访问控制,其中令牌是提供访问的主要方式。

特性

aliri_base64 crate 提供了一些实用工具,可以更轻松地处理需要使用Base64编码进行序列化的字节数组和缓冲区。这对于许多 aliri 使用的类型来说是非常必要的,但也可能对其他人也有帮助。

底层编码/解码机制由 base64 crate 提供。

支持的编码

Base64Base64Ref 包装了必须以带填充的标准Base64编码进行序列化的所有者和借用字节数组。

Base64UrlBase64UrlRef 包装了必须以无填充的URL安全Base64编码进行序列化的所有者和借用字节数组。

将来可能会添加额外的编码,但这两个编码是我所需的基本用例的主要编码。

不安全代码

Aliri Base64使用了两行不安全的代码。这行不安全代码仅限于允许Base64RefBase64UrlRef包装借用字节切片的函数。这种重新解释是安全的,因为这些类型是围绕[u8]的透明包装,使用#[repr(transparent)],因此与底层切片具有完全相同的表示。这目前是必要的,因为在安全Rust中目前还没有方法转换动态大小值的等效表示。

由于上述原因,这个crate使用#![deny(unsafe_code)]而不是#![forbid(unsafe_code)]。crate中唯一的#![allow(unsafe_code)]可以在私有b64_builder!宏中找到。

请注意,由于cargo-geiger在宏内部解析不安全使用存在困难,因此该工具不会将这些crate报告为“放射性”,但可能应该这样做。请务必尽职调查。

依赖项

~225–405KB