输入
任意 Unicode 文本,包括汉字、符号、空格和换行。
密钥越复杂,抵抗猜测的能力越强。
空密钥不提供基于秘密密钥的保护,任何获得输入和配置的人都能复现结果。
配置
规范化规则同时应用于输入内容和密钥。
不规范化时,全角/半角、组合字符和视觉相同的 Unicode 字符可能生成不同结果。NFC/NFKC 会将部分等价字符统一。
选择预设格式或自定义字符集。
范围 1~256。输出较短时碰撞概率更高。
DM-HMAC-SHA256-v1
结果
尚未生成,请配置参数并点击"生成结果"。
- 本工具在浏览器本地运行,不会主动上传输入内容。
- 本工具使用 HMAC-SHA-256 生成确定性字节流。
- 相同输入、密钥和配置会产生相同结果。
- 该过程不提供解密功能,不能从结果唯一还原原始输入。
- 不可逆不代表无法猜测。如果输入和密钥都很弱,攻击者仍可能通过枚举组合进行验证。
- 密钥越长、越随机,抵抗猜测的能力通常越强。
- 空密钥没有秘密性,只能形成公开的确定性映射。
- 输出长度越短、字符集越小,碰撞概率越高。
- 输出空间只有 字符集大小输出长度 种可能。
- 不同输入可能映射为同一结果。
- 如果该结果用于登录或身份验证,服务端仍必须实施限速、失败锁定和其他安全措施。
- 本工具不是密码管理器。
- 本工具不能替代 Argon2id、scrypt 等专业密码存储算法。
- 不要使用本工具保存服务器登录密码。
- 不要将短数字输出描述为具有完整 HMAC-SHA-256 的安全强度。
- 不使用随机 Salt,是因为本工具的需求是保证相同输入和配置得到相同输出。
- 用户必须自行妥善保存密钥;密钥丢失后无法重新生成原结果。
运行测试向量验证核心算法正确性。测试不读取也不输出用户的实际输入。
点击"运行测试"开始验证。