Documentation
¶
Overview ¶
Package encoding 提供常用的编码和哈希工具函数。
当前能力:JSON 编解码包装(MarshalJSON/UnmarshalJSON 等)、非加密哈希 (Fnv1a64)、加密级摘要(Sha256/Sha256Hex)、Base64(标准/URL 安全)。
历史说明:曾提供 Md5/Md5Hex/Md5Bytes/Sha1 弱哈希包装,2026-09-15 治理轮 移除(共享 SDK 提供弱哈希入口容易被误用到凭据/签名场景);确有 MD5/SHA-1 合规需求的业务自行使用 crypto 标准库。
Index ¶
- func Base64Decode(s string) (string, error)
- func Base64Encode(s string) string
- func Base64URLDecode(s string) (string, error)
- func Base64URLEncode(s string) string
- func Fnv1a64(data []byte) uint64
- func Marshal(v any) ([]byte, error)
- func MarshalIndent(v any, prefix, indent string) ([]byte, error)
- func MarshalToString(v any) (string, error)
- func Sha256(str string) string
- func Sha256Hex(data []byte) string
- func Unmarshal(data []byte, v any) error
- func UnmarshalFromReader(reader io.Reader, v any) error
- func UnmarshalFromString(str string, v any) error
- func Valid(data []byte) bool
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Base64URLDecode ¶
Base64URLDecode 解码 Base64 URL 安全编码的字符串。
func Base64URLEncode ¶
Base64URLEncode 返回字符串的 Base64 URL 安全编码。
func Fnv1a64 ¶
Fnv1a64 返回数据的 64 位 FNV-1a 哈希值(非加密哈希,用于缓存分片/内容粗校验)。 跨服务持久化过哈希值的场景请勿更改算法假设(历史名 Hash,2026-09 改为如实命名)。
func MarshalIndent ¶
MarshalIndent 将 v 序列化为带缩进的 JSON 字节。
func MarshalToString ¶
MarshalToString 将 v 序列化为 JSON 字符串。
func Sha256Hex ¶
Sha256Hex 返回数据的 SHA-256 十六进制字符串。 适用于内容校验和、缓存键等非加密签名场景(2026-09-15 治理轮: 移除 Md5/Md5Hex/Md5Bytes/Sha1 包装——共享 SDK 提供弱哈希入口容易被 误用到凭据/签名场景;确有 MD5/SHA-1 合规需求的业务自行引 crypto 标准库)。
func Unmarshal ¶
Unmarshal 将 JSON 字节反序列化到 v。 使用 UseNumber 模式解析数字,避免精度丢失。 与 encoding/json.Unmarshal 语义一致:整个输入必须是单一 JSON 值, 尾部残留数据(截断修复失败/拼接脏数据)视为错误而非静默忽略。
func UnmarshalFromReader ¶
UnmarshalFromReader 从 Reader 读取 JSON 并反序列化到 v。
func UnmarshalFromString ¶
UnmarshalFromString 将 JSON 字符串反序列化到 v。 语义同 Unmarshal:尾部残留数据视为错误。
Types ¶
This section is empty.