Files
core/lib/doc/dever-crypto.md
2026-11-03 03:32:07 +00:00

1.6 KiB

密码与摘要

密码哈希和校验会阻塞,异步流程用 blocking 调用;摘要和 HMAC 是纯计算。Secret 不可打印。

dever.crypto.TokenResult

随机 Secret 的生成结果,失败包含原因。

分支:

  • Ready(value: Secret):成功值
  • error Failed(message: Text):失败原因

dever.crypto.HashResult

密码哈希的生成结果,成功包含 PHC 文本。

分支:

  • Ready(value: Text):成功值
  • error Failed(message: Text):失败原因

dever.crypto.VerifyResult

密码校验结果;成功值表示密码是否匹配,失败表示哈希无效或校验无法完成。

分支:

  • Ready(value: Bool):成功值
  • error Failed(message: Text):失败原因

dever.crypto.token

生成指定字节数的随机 Secret,允许 16–1024 字节。随机源不可用时失败。

dever.crypto.passwordHash

用 Argon2id v19 生成密码哈希。参数为 19456 KiB、2 轮、1 lane 和 32 字节结果。

dever.crypto.passwordVerify

校验密码与 PHC 哈希。密码不匹配返回 false;哈希损坏或资源参数超限时失败。

dever.crypto.sha256

计算 SHA-256,返回 32 字节摘要。

dever.crypto.hmacSha256

用 Secret 密钥计算 HMAC-SHA256,返回 32 字节结果。

dever.crypto.constantTimeEq

对相同长度的内容使用常量时间比较,长度不同时返回 false。

dever.crypto.tokenValue

取出随机 Secret;生成失败时继续传播错误。

dever.crypto.hashValue

取出密码哈希;生成失败时继续传播错误。

dever.crypto.verifyValue

取出密码是否匹配的结果;校验失败时继续传播错误。