So berechnen Sie den sha256-Datei-Prüfsumme in Gehen
Ich brauche Dienstprogramm für Windows Berechnung von sha256-Datei-Prüfsumme so, dass wenn ich download
fedora kann ich überprüfen Prüfsumme von hier: https://fedoraproject.org/static/checksums/Fedora-18-i386-CHECKSUM
Microsoft-Dienstprogramm von http://support.microsoft.com/kb/889768 nicht nur md5 und sha1.
Ich will nicht von anderen herunterladbaren tools, die nicht angemeldet sind und nicht von https oder aus Quellen, die ich nicht kenne, denn es macht keinen Sinn, download von unsignierten code über eine unverschlüsselte Verbindung oder von nicht vertrauenswürdigen Quelle, um zu überprüfen Signatur eines anderen code zu Vertrauen.
Glücklicherweise bietet google die Möglichkeit, https zu verwenden, für alle downloads, so dass ich herunterladen kann, Gehen über eine sichere Verbindung, und von dort aus starten.
Hier ist einfach code, der bedeutet, dass für eine kleine Datei, aber es ist nicht sehr gut für große Dateien, denn es ist kein streaming.
package main
import (
"io/ioutil"
"crypto/sha256"
"os"
"log"
"encoding/hex"
)
func main() {
hasher := sha256.New()
s, err := ioutil.ReadFile(os.Args[1])
hasher.Write(s)
if err != nil {
log.Fatal(err)
}
os.Stdout.WriteString(hex.EncodeToString(hasher.Sum(nil)))
}
Wie man es zu verwenden, streams, so dass es funktioniert auf eine beliebige Datei Größe.
InformationsquelleAutor alpav | 2013-04-08
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den SHA256-hasher implementiert die
io.Writer
- Schnittstelle, also eine Möglichkeit wäre die Verwendung derio.Copy()
Funktion zum kopieren der Daten aus einer entsprechendenio.Reader
in Blöcken. So etwas sollte tun:InformationsquelleAutor James Henstridge
Den crypto/sha256 godoc hat tatsächlich eine snippet, die zeigt, wie das geht (es ist im Grunde der gleiche code wie James):
InformationsquelleAutor Melvin
Vollständiges Beispiel md5sum:
EncodeToString
nicht unterlässt führende 0-bytes, sofmt.Println(hex.EncodeToString([]byte{0x00, 0x00, 0xA, 0xB, 0xC}))
gibt00000a0b0c
InformationsquelleAutor Oleg Neumyvakin