对“abc”计算哈希
需要为一个简短的测试字符串取校验值。
- 输入:abc
- MD5:900150983cd24fb0d6963f7d28e17f72
- SHA-256:ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad
结果是确定的。同一个字符串再次计算,得到的摘要完全一致。
这个工具一次算出同一段文本的四种常见摘要。全部计算都在你的浏览器里完成,输入不会被上传,结果随输入实时更新。
所有数据都在你的浏览器本地处理,不会上传到我们的服务器。
当前浏览器环境无法计算哈希。请使用 HTTPS 页面。
MD5 和 SHA-1 不适合用于密码或签名。校验完整性请使用 SHA-256 或 SHA-512。
摘要 = H(消息)
加密哈希函数把任意长度的输入映射为固定长度的摘要。同样的输入总是得到同样的摘要,而只要改动一个字符,结果就会完全不同。
MD5 = 128 位;SHA-1 = 160 位;SHA-256 = 256 位;SHA-512 = 512 位
十六进制输出的字符数正好是位数的两倍,分别是 32、40、64 和 128 个字符。MD5 与 SHA-1 在安全场景下已不再可靠。
需要为一个简短的测试字符串取校验值。
结果是确定的。同一个字符串再次计算,得到的摘要完全一致。
需要把公布的 SHA-256 校验值和本地文件对照。
这个工具处理的是文本;文件较大时,应使用能直接读取文件的校验工具,避免把整个文件粘贴进页面。
MD5 和 SHA-1 计算速度快,在安全用途上已经失效。即使是 SHA-256,单独使用也不算密码哈希;保存凭据应使用带盐的 Argon2、bcrypt 或 scrypt。
哈希无法解密。它是单向的指纹,用于校验完整性和作为标识,不能用来隐藏需要还原的数据。
同样的字符用不同编码保存,得到的字节不同,哈希也就不同。这个工具按 UTF-8 处理你输入的文本。
校验完整性时用 SHA-256 或 SHA-512。MD5 和 SHA-1 只是为了兼容旧的校验值而保留,已经无法抵御碰撞攻击。
不能。哈希是单向的。短输入或常见输入可以被字典猜出,所以不加盐的密码哈希并不安全。
隐藏的空格、不同的换行符或不同的 Unicode 规范化都会改变字节。要对比的是实际输入,而不是显示出来的文字。
不会。哈希在本地计算,SHA 系列使用浏览器的 Web Crypto API,文本不会离开这个页面。
很多旧系统仍会公布 SHA-1 校验值。用它来核对这些值是合适的,但新的安全设计不应再选择它。