操作指南:验证SHA256

From Nxt Wiki
Jump to: navigation, search
This page is a translated version of the page How-To:VerifySHA256 and the translation is 100% complete.

Other languages:
Deutsch • ‎English • ‎Nederlands • ‎español • ‎français • ‎italiano • ‎português do Brasil • ‎русский • ‎українська • ‎中文 • ‎中文(简体)‎

本文简要介绍了SHA256背后的动机。如果你只是想知道如何检查NXT官方客户端的SHA256哈希值,直接跳到我如何找到一个文件的SHA256哈希值?

1 SHA256是什么?

SHA256是一个哈希函数。意思是,它是一个特殊公式,可将像一段文本或一个文件一样的数码数据,变成了称为哈希数据的一行字符。举例来说,这句话

 The quick brown fox jumps over the lazy dog. 

有以下SHA256哈希值

 EF537F25C895BFA782526529A9B63D97AA631564D5D789C2B765448C8635FB6C 

无论原始数据是多么大,SHA256哈希值始终是64个字符长。每个字符可以是一个数字或为A到F的一个字母,代表4比特的信息。所以整个哈希代表64×4=256比特的信息,这就SHA256中256的由来。

这个例子中,数据是比哈希值短,但通常的文件或数据都比哈希值大得多。

2 为什么我应该关心SHA256哈希值?

两个不同的文件具有相同的SHA256哈希值的情况是极不可能的,因为有超过10^77(也就是1后面跟77零)可能的哈希值。这种运算的设计"极"难逆算,至今没有人找到方法使两个不同的文件有相同的哈希值。原始数据中小的变化总是导致SHA256哈希值巨大的改变。

因此,哈希值给出了一个检查两个文件是否相同的快速方法。不需要比较两个文件的全部内容,你仅需要比较它们的哈希值。

这给出了一个检查一个文件有没有被损坏或篡改的快速方法。该过程通常是这样的:

  1. 文件的作者上传文件,并宣布其SHA256哈希值。
  2. ???? (该文件可能被上传到其他地方。有些的上传可能会损坏。有时病毒/恶意软件上传之前前被插入文件。)
  3. 用户从某些地方下载文件。
  4. 用户查找该文件的SHA256哈希值,并将它与由作者公布的哈希值进行比较。
  5. 如果它们是相同的,用户可以确信他们已经得到了正确的文件。如果它们是不同的,用户知道他们得到了一个坏的文件,并应尽可能从不同的来源重新下载。

想想哈希值作为一个大文件的简短描述。

3 我如何找到一个文件的SHA256哈希值?

一个简单的方法是使用一个在线哈希计算器,比如online-convert.com。使用“浏览”按钮,上传文件,然后单击“转换文件”。片刻后,该网站会告诉你该文件的哈希值。如果您不希望使用在线工具用于检查SHA256哈希值,你也可以在Hashtab运行免费的离线Windows和MacOS SHA256计算器。

使用前检查敏感文件,如NXT客户端的哈希值,是一个不错的主意。恶意攻击者会尝试篡改各类文件,以获得你NXT账户和/或个人信息。

从https://www.jelurida.com/nxt-client.zip下载包含官方客户端的.zip文件后,按上述的介绍,得到它的SHA256哈希值。如果你看到

452f7320ea806c8e7cc6d87b85fff2085320043d0c2f5e80e799802e2b94abed nxt-client-1.11.14.zip

(source: Jelurida Release) - How to verify SHA256 checksums

那么你的客户端是安全的,你可以接着安装了。


4 SHA256是否有其他用途?

没错!事实上,SHA256是加密和保护NXT交易的算法之一。

5 还有没有其他的哈希函数?

没错!

您可能听说过另一个哈希函数md5,像SHA256,md5也产生一行字符(只是长度是SHA256的一半),但仍然有庞大可能的哈希值。所以md5用于检测下载中出现的"意想不到"的错误,仍然被广泛使用中。

但不像SHA256,md5不再安全,人们知道一种聪明的方法反推它,使两个不同的文件具有相同的md5是可行的。所以您不应该再依赖md5,确认文件没有被故意篡改。