hash

下载或复制文件后,可以用摘要判断字节是否一致。hash <file> 只输出 SHA-256 摘要;hash -s "text" 计算字符串摘要。此操作不会加密原文。

安全版本 1.1.4稳定
lil-terminal

概览

-a 选择 PHP 支持的其他算法;-b 使用 Base64 而非十六进制输出。hash -c <digest> <file> 比对预期摘要。摘要相同不代表摘要来源一定可信。

Digest 与 HMAC 回答的是不同问题

普通 hash 能发现数据变化,但任何拥有数据的人都能计算同样的值。HMAC 还加入秘密密钥。两者都不会加密输入,也不能从 digest 还原原始内容。

语法

lil-terminal
hash [<file>|-s "<text>"] [-a <algo>] [-h|-K <file>] [-b] · hash -c <digest> <file> [-b]

参考

hash

显示可用的哈希算法

hash <file>

计算文件的 SHA-256

hash -s "<text>"

计算文本哈希;含空格的文本必须加引号

hash <file> -a sha512

选择其他算法

hash <file> -h

通过隐藏输入的密钥计算 HMAC

hash <file> -K <keyfile>

使用密钥文件计算 HMAC

hash -c <digest> <file>

校验十六进制摘要

hash -c <digest> <file> -b

使用 Base64 而不是十六进制进行校验或输出

-b

使用 Base64 而非十六进制输出

说明

Minimum 可以计算文件或字符串摘要;选择算法、验证与 HMAC 需要 Base。

交互式 sandbox 预览

可直接在页面中运行预先准备的示例。结果已预先生成并在浏览器中显示;服务器不会执行任何终端命令。

比较 SHA-256 与 SHA-512

安装与管理

安装当前兼容版本。完整功能请选择 Base,精简包请选择 Minimum;已安装模块的更新请使用 upgrade。

Base 与 Minimum 是同一当前模块版本的两个包。

Base 包

安装包含本地参考和全部已发布模式的完整包。

install hash
Minimum 包

安装精简包。该包不包含本地参考;help <cmd> -i 会打开当前服务器参考。

install hash -m
精确公开版本

安装这个确切的已发布版本。

install hash -v 1.1.4
检查或升级

让 upgrade 检查兼容性,仅在需要时替换已安装块。

upgrade hash
删除模块

删除扩展块,不影响核心和其他模块。

install hash -u

示例

示例可复制,但网站不会执行。请先检查路径、权限和破坏性选项。

比较 SHA-256 与 SHA-512
hash
可用算法取决于 PHP 服务器。列表片段:
adler32      haval128,5  haval256,5  sha1        snefru256
crc32        haval160,3  joaat       sha3-224    tiger128,3
crc32b       haval160,4  md2         sha3-256    tiger128,4
crc32c       haval160,5  md4         sha3-384    tiger160,3
…
计算文件的 SHA-256
hash \sandbox/feed.xml
fecb9e779e2de5637918deca5ea1bfde9059833a67ed38146e3360944bc06000
计算文本哈希;含空格的文本必须加引号
hash -s "HELLO WORLD!"
bf96648169ba89c284b3e94108074c7d5e5806c7b9498031aceded5ca139ed69
选择其他算法
hash \sandbox/feed.xml -a sha512
b1326264154960b4eb6fb685521ac40de967749c9dd11cc00da69e2d8f2a88b969ecef723d9da4c86945ad407571ec62e3e9cc12bcb2070a0f1e14802ffe5fc3
使用 Base64 而非十六进制输出
hash \sandbox/feed.xml -b
/sued54t5WN5GN7KXqG/3pBZgzpn7TgUbjNglEvAYAA=
计算文本哈希;含空格的文本必须加引号
hash -s "hello" -a sha512 -b
m3HSJL1i83hdltRq0+o9czGb+8KJDKra4t/3JRlnPKcjI8PZm6XBHXx6zG4UuMXaDEZjR1wuXDre9G9zvN7AQw==
使用密钥文件计算 HMAC
hash \sandbox/feed.xml -K \sandbox/keys/hash.key
09ada086ae48552d1f2c31e2339694927d88b4510e4de75d5099980deb77398b
使用密钥文件计算 HMAC
hash -s "hello" -K \sandbox/keys/hash.key
fe8e9832244f6150d4d9655df350647f8efff014774fe0f2b10d1a7fcec449ce
拒绝不存在的文件
hash \sandbox/feed.xml -h
将打开隐藏的密码或密钥输入框。
校验十六进制摘要
hash -c fecb9e779e2de5637918deca5ea1bfde9059833a67ed38146e3360944bc06000 \sandbox/feed.xml
Status     Verified
Algorithm  sha256
使用 Base64 而不是十六进制进行校验或输出
hash -c /sued54t5WN5GN7KXqG/3pBZgzpn7TgUbjNglEvAYAA= \sandbox/feed.xml -b
Status     Verified
Algorithm  sha256
校验十六进制摘要
hash -c 0000000000000000000000000000000000000000000000000000000000000000 \sandbox/feed.xml
Hash mismatch
校验十六进制摘要
hash -c 1234 \sandbox/feed.xml
Invalid hexadecimal digest
计算文件的 SHA-256
hash \sandbox/missing.txt
File not found
选择其他算法
hash \sandbox/feed.xml -a invalid
Hash algorithm is unavailable
使用密钥文件计算 HMAC
hash \sandbox/feed.xml -K \sandbox/keys/missing.key
Key file is not readable
通过隐藏输入的密钥计算 HMAC
hash -s "hello" -h
将打开隐藏的密码或密钥输入框。
计算文件的 SHA-256
hash \sandbox/feed.xml -z
Unknown option

本示例使用的文件: sandbox/data/sample.txt

该示例使用受保护的 /sandbox/ 文档工作区中的文件或目录。

lil-terminal sandbox text file

This file is safe to read, copy, rename, replace, hash and archive.

相关文档

当前公开版本

v1.1.42026-08-12

直接用 hash 列出算法

无参数 hash 现在会列出可用算法,并移除多余的 -l。