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 编码
124,626 每月下载量
在 8 个crate中使用 (4 直接)
23KB
289 行
Aliri Base64
Esperanto for "access"
Aliri 是一组crate,旨在帮助构建访问控制,尤其是Web API的访问控制,其中令牌是提供访问的主要方式。
特性
aliri_base64
crate 提供了一些实用工具,可以更轻松地处理需要使用Base64编码进行序列化的字节数组和缓冲区。这对于许多 aliri
使用的类型来说是非常必要的,但也可能对其他人也有帮助。
底层编码/解码机制由 base64
crate 提供。
支持的编码
Base64
和 Base64Ref
包装了必须以带填充的标准Base64编码进行序列化的所有者和借用字节数组。
Base64Url
和 Base64UrlRef
包装了必须以无填充的URL安全Base64编码进行序列化的所有者和借用字节数组。
将来可能会添加额外的编码,但这两个编码是我所需的基本用例的主要编码。
不安全代码
Aliri Base64使用了两行不安全的代码。这行不安全代码仅限于允许Base64Ref
和Base64UrlRef
包装借用字节切片的函数。这种重新解释是安全的,因为这些类型是围绕[u8]
的透明包装,使用#[repr(transparent)]
,因此与底层切片具有完全相同的表示。这目前是必要的,因为在安全Rust中目前还没有方法转换动态大小值的等效表示。
由于上述原因,这个crate使用#![deny(unsafe_code)]
而不是#![forbid(unsafe_code)]
。crate中唯一的#![allow(unsafe_code)]
可以在私有b64_builder!
宏中找到。
请注意,由于cargo-geiger
在宏内部解析不安全使用存在困难,因此该工具不会将这些crate报告为“放射性”,但可能应该这样做。请务必尽职调查。
依赖项
~225–405KB