[{"data":1,"prerenderedAt":266},["ShallowReactive",2],{"content:zh:sha256-generator":3},{"id":4,"title":5,"body":6,"description":242,"extension":243,"faq":244,"kind":257,"locale":258,"meta":259,"navigation":260,"path":261,"seo":262,"seoTitle":263,"stem":264,"__hash__":265},"pages\u002Fzh\u002Fsha256-generator.md","SHA-256 哈希生成器",{"type":7,"value":8,"toc":231},"minimark",[9,13,17,20,23,26,37,47,50,83,93,108,112,115,119,122,125,129,132,138,142,198,201,223],[10,11,12],"h2",{"id":12},"本工具计算什么",[14,15,16],"p",{},"SHA-256 属于 SHA-2 系列，输出 256 位结果，即完整的 64 个十六进制字符。下载清单、构建流水线及内容标识经常使用它。复制时请保留全部字符；截断结果会改变比较规则，也可能削弱标识的可靠性。",[14,18,19],{},"普通 SHA-256 不包含秘密密钥。如果攻击者能够同时替换文件和旁边的摘要，就能发布另一组互相匹配的值。预期摘要应来自经过认证的发布渠道；“字节一致”与“发布者可信”不是同一个判断。",[14,21,22],{},"文本模式按 UTF-8 原样编码，文件模式读取原始文件字节。PDF 中看到的正文不是 PDF 文件本身，ZIP 解压后的内容也不是 ZIP 归档字节。比较控件要求 64 个合法十六进制字符，能区分预期值格式错误与格式正确但不匹配这两种情况。",[10,24,25],{"id":25},"可核对的示例",[14,27,28,32,33,36],{},[29,30,31],"code",{},"UTF-8"," · ",[29,34,35],{},"abc"," · SHA-256",[38,39,45],"pre",{"className":40,"code":42,"language":43,"meta":44},[41],"language-text","ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad\n","text","",[29,46,42],{"__ignoreMap":44},[10,48,49],{"id":49},"如何计算与比较",[51,52,53,69,76],"ol",{},[54,55,56,57,61,62,65,66,68],"li",{},"在",[58,59,60],"strong",{},"输入文本","中粘贴需要计算的内容，或点击",[58,63,64],{},"示例","加载 ",[29,67,35],{},"。工具按 UTF-8 编码计算，保留输入中的空格和换行。",[54,70,71,72,75],{},"单条文本模式下，不超过 64 KiB 的非空输入会在停止输入片刻后自动计算。计算空字符串或更大的文本时，请点击",[58,73,74],{},"生成哈希","。修改输入后，旧结果会立即清除。",[54,77,78,79,82],{},"如需核对已保存的文件，请切换到",[58,80,81],{},"文件校验","，确认算法后选择或拖入文件。文件模式会读取原始字节并自动开始计算。",[14,84,85,86,89,90,92],{},"批量处理时，勾选",[58,87,88],{},"每行独立计算","，选择是否包含空行，再点击",[58,91,74],{},"。逐行模式不会自动计算。CRLF、LF 和 CR 仅用于分隔记录，不计入各行摘要；重复行保留各自的原始行号。",[14,94,95,96,99,100,103,104,107],{},"将完整的十六进制参考值粘贴到",[58,97,98],{},"比较预期值（可选）","，再点击",[58,101,102],{},"核对","。比较时忽略字母大小写和首尾空白，但不接受内部空格或错误长度。",[58,105,106],{},"复制","会保留完整结果。TXT、CSV 导出包含输入标识、算法和摘要，不包含原始文本或密钥。",[10,109,111],{"id":110},"限制隐私与下一步","限制、隐私与下一步",[14,113,114],{},"文本上限为 10 MiB；逐行模式最多接受 10,000 条记录，按过滤空行前的数量计算。文件队列最多 50 个文件，每个不超过 1 GiB，按 2 MiB 分块依序读取。这些限制用于控制浏览器资源占用，不保证每部手机都能快速处理最大输入；必要时可取消计算。计算在浏览器中完成，正常的页面和资源请求仍会发送到托管服务器。",[10,116,118],{"id":117},"用-sha-256-核对下载文件","用 SHA-256 核对下载文件",[14,120,121],{},"从发布者处取得对应版本、平台的 SHA-256 参考值，不要混用其他构建的校验码。进入文件校验、选择 SHA-256，计算下载的原始文件，并在安装或解压前比较完整 64 位摘要。不匹配时应核对版本和下载来源，而不是截短结果来强行匹配。",[14,123,124],{},"排查文本接口时，要区分原始消息和“字节的文字表示”。输入 61，计算的是字符 6 和 1 的 UTF-8 字节，不会自动解码为字母 a 的单个字节。本页文本框不是 Hex 原始字节输入器。如果请求认证要求密钥，应使用 HMAC，并按协议保留准确的消息字节。",[10,126,128],{"id":127},"用实际结果区分字符-61-与字节-0x61","用实际结果区分字符 61 与字节 0x61",[14,130,131],{},"在单条文本模式计算 61，再把输入改成 a。下面两个不同的结果可以直接说明：把十六进制文字输入文本框，不等于先解码成原始字节。",[38,133,136],{"className":134,"code":135,"language":43,"meta":44},[41],"SHA-256 \u002F UTF-8 \"61\" (36 31):\nd029fa3a95e174a19934857f535eb9427d967218a36ea014b70ad704bc6c8d1c\nSHA-256 \u002F UTF-8 \"a\" (61):\nca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb\n",[29,137,135],{"__ignoreMap":44},[10,139,141],{"id":140},"sha-256-常见错误与处理","SHA-256 常见错误与处理",[143,144,145,161],"table",{},[146,147,148],"thead",{},[149,150,151,155,158],"tr",{},[152,153,154],"th",{},"现象",[152,156,157],{},"原因",[152,159,160],{},"处理方式",[162,163,164,176,187],"tbody",{},[149,165,166,170,173],{},[167,168,169],"td",{},"参考值有 44 个字符，末尾带 =",[167,171,172],{},"可能是 Base64，而不是十六进制",[167,174,175],{},"取得或正确转换为完整 64 位十六进制参考值。",[149,177,178,181,184],{},[167,179,180],{},"整行 sha256sum 结果被拒绝",[167,182,183],{},"包含了文件名或标记",[167,185,186],{},"只粘贴摘要，文件名单独保留。",[149,188,189,192,195],{},[167,190,191],{},"计算结果与 webhook 签名不同",[167,193,194],{},"协议可能要求 HMAC 和原始请求字节",[167,196,197],{},"使用 HMAC，并确认密钥编码及消息内容。",[10,199,200],{"id":200},"相关工具与指南",[202,203,204,211,217],"ul",{},[54,205,206],{},[207,208,210],"a",{"href":209},"\u002Fzh\u002Ffile-md5","文件校验工具",[54,212,213],{},[207,214,216],{"href":215},"\u002Fzh\u002Fhmac-generator","HMAC 消息认证工具",[54,218,219],{},[207,220,222],{"href":221},"\u002Fzh\u002Fguides\u002Fmd5-vs-sha256","MD5 与 SHA-256 的区别",[14,224,225],{},[207,226,230],{"href":227,"rel":228},"https:\u002F\u002Fcsrc.nist.gov\u002Fpubs\u002Ffips\u002F180-4\u002Fupd1\u002Ffinal",[229],"nofollow","FIPS 180-4",{"title":44,"searchDepth":232,"depth":232,"links":233},2,[234,235,236,237,238,239,240,241],{"id":12,"depth":232,"text":12},{"id":25,"depth":232,"text":25},{"id":49,"depth":232,"text":49},{"id":110,"depth":232,"text":111},{"id":117,"depth":232,"text":118},{"id":127,"depth":232,"text":128},{"id":140,"depth":232,"text":141},{"id":200,"depth":232,"text":200},"对文本或文件生成 SHA-256，核对完整的 64 位十六进制结果。","md",[245,248,251,254],{"question":246,"answer":247},"SHA-256 与 HMAC-SHA256 一样吗？","不一样。普通 SHA-256 没有密钥，HMAC 是独立的带密钥构造。协议要求 HMAC 时应使用 HMAC 工具。",{"question":249,"answer":250},"比较框支持 Base64 格式的 SHA-256 吗？","不支持，比较框要求 64 个十六进制字符。Base64 是另一种摘要字节编码方式，删除等号或改几个字母并不能转成十六进制。",{"question":252,"answer":253},"输入 61 会计算字节 0x61 吗？","不会，文本模式计算字符 6 和 1 的 UTF-8 字节。要计算字母 a 对应的字节，可以输入 a；任意二进制字节请通过本地文件输入。",{"question":255,"answer":256},"webhook 的 SHA-256 签名就是普通 SHA-256 吗？","不一定。很多协议使用 HMAC-SHA256 或其他构造。请核对服务商指定的算法、密钥编码和消息字节规则，不能仅凭 SHA-256 字样选择普通哈希。","tool","zh",{},true,"\u002Fzh\u002Fsha256-generator",{"title":5,"description":242},"SHA-256 哈希生成器 — md5hash.net","zh\u002Fsha256-generator","Yxzd2w_gPY8jqHLiu06rKW_BfGSoyUWPIVHdEAqlHik",1792048884647]