# 密码与摘要 密码哈希和校验会阻塞,异步流程用 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 取出密码是否匹配的结果;校验失败时继续传播错误。