HMAC消息认证码生成器 - 密钥哈希在线计算
输入密钥和消息,生成基于SHA-256或其他哈希的HMAC签名,验证数据完整性,纯前端WebCrypto。
UD5工具箱
直观理解密码如何通过盐值(Salt)和哈希算法安全存储, 模拟注册与登录的完整流程,认识加盐的重要性。
输入密码,系统自动加盐并计算哈希值存入"数据库"
点击后将哈希值保存到模拟数据库,供登录验证使用
使用已存储的盐值和哈希,验证输入的密码是否匹配
这说明即使两个用户使用相同的密码,由于盐值不同,攻击者也无法通过哈希值判断密码是否相同
| 场景 | 密码 | 盐值 | 算法 | 最终哈希(前24字符) | 是否相同 |
|---|---|---|---|---|---|
| 用户 A | - | - | - | - | - |
| 用户 B | - | - | - | - | - |
盐值是在密码哈希前追加或插入到密码中的一段随机字符串。它确保即使两个用户使用完全相同的密码,最终存储的哈希值也完全不同。盐值通常与哈希值一起存储,不需要保密。
不加盐时,相同密码产生相同哈希。攻击者可以使用彩虹表(预计算的密码→哈希映射表)快速破解大量密码。加盐后,每条记录都需要单独破解,极大增加了攻击成本。
彩虹表是一种时间-空间权衡的密码破解技术。攻击者预先计算大量常见密码的哈希值并存储在表中。遇到泄露的哈希值时,直接查表即可找到原始密码。加盐使得预计算无效,因为每个盐值都需要单独的彩虹表。
密码存储应使用专门的密码哈希函数:bcrypt、scrypt、Argon2。这些算法内置盐值、多轮迭代、内存/时间成本控制。SHA-256等通用哈希函数计算太快,不适合直接用于密码存储(但加盐多轮迭代后可接受)。
不需要。盐值通常与哈希值一起明文存储在数据库中(如$algorithm$salt$hash格式)。盐值的作用是防止预计算攻击(彩虹表),而非增加密码破解的单次难度。即使攻击者知道盐值,仍需为每个用户单独暴力破解。
单次哈希计算速度极快(微秒级),攻击者可以每秒尝试数十亿个密码。通过数千甚至数万次迭代(如bcrypt的成本因子),每次密码验证耗时增加到数十毫秒,用户无感知,但攻击者暴力破解速度被极大降低。
绝对不能用于密码存储。MD5和SHA-1已被证明存在碰撞漏洞,且计算速度极快,极易被暴力破解。即使是加盐的MD5也不安全。请使用bcrypt、scrypt或Argon2等现代密码哈希算法。
1) 用户输入密码 → 2) 从数据库取出该用户的盐值 → 3) 使用相同的盐值和算法对输入密码重新哈希 → 4) 比对计算结果与存储的哈希值 → 5) 相同则验证通过。整个过程不存储原始密码。
输入密钥和消息,生成基于SHA-256或其他哈希的HMAC签名,验证数据完整性,纯前端WebCrypto。
使用Argon2id算法生成密码哈希,配置内存/迭代/并行度,提升暴力破解难度,前沿安全实践。
在线SHA系列哈希算法生成工具,支持SHA-1、SHA-256、SHA-512等,前端即时计算文件或文本摘要。
计算Whirlpool算法哈希值,输出512位高强度摘要,用于数据完整性校验和密码学实践。
基于5x5方阵,通过行列坐标转置进行加密,操作简单却难以直接破解。
输入凯撒密文,自动展示25种位移的解密结果,方便快速查看明文。
检查比特币地址(Base58/bech32)的格式是否正确,以及校验和是否匹配。
计算文本或文件的BLAKE2b/BLAKE2s哈希值,比MD5更安全,比SHA更快,纯前端JS库实现。
生成由易读单词和数字组成的密码短语,大小写清晰,避免混淆字符,方便语音传达或抄写。
在线演示Scrypt函数如何将密码转化为安全密钥,可调CPU与内存成本参数,理解现代KDF原理。
支持SHA3-224/256/384/512及SHAKE可扩展输出,浏览器端计算文件或文本的第三代安全哈希值。
上传疑似隐写图片,提取每个像素的最低位,尝试恢复隐藏的文本或数据。
在线生成RSA密钥对并进行消息加密与解密演示,支持PKCS#1/OAEP填充,理解公钥密码体系。
对同一输入运行多种哈希算法,并对比它们在前端的执行速度。
集成ASCII/Hex/Base家族/Quoted-Printable/UUencode等多种编码一键互转,支持智能识别与链式解码。
模拟一战德军使用的ADFGVX两阶段加密(替换+置换),学习密码学历史。
配置iframe的sandbox属性,加载测试页面,直观查看表单提交、脚本执行等功能的限制效果。
按下按键,对比显示数字小键盘与主键盘数字的code和key差异,帮助处理输入。
输入第三方域名,生成<link rel='preconnect'>或dns-prefetch等资源提示标签。
显示当前网页的Referrer-Policy设置,并模拟不同策略下的Referer发送情况。
选择常用模式(如响应式断点、flex居中、省略号),生成对应Sass Mixin代码。
选择单词中字母与放置格子,计算总分,支持双倍/三倍字母词。
拖拽改变容器宽度,观察使用container-type和@container规则的元素如何自适应样式。
输入Proto定义和Base64编码的protobuf数据,在线解码为JSON,辅助分析二进制通信内容。
输入URL提取OG标签,模拟Facebook/Twitter/LinkedIn卡片显示效果,优化链接分享。
输入两个或多个整数,一键计算它们的最小公倍数,适合学生数学作业与分数通分。
可视化演示固定窗口、滑动窗口、令牌桶等常见限流算法,实时请求计数与拒绝逻辑。
随机生成整数数组,逐步展示按低位优先进行的基数排序过程,辅助算法理解。
设置基础字号后批量转换像素值为em/rem,同时提供反向计算,保证响应式单位准确。
调整滚动容器和子项的对齐方式、停止点,观察CSS Scroll Snap平滑滑动效果。