muszę narzędzie dla Windows, który oblicza sha256 sumę kontrolną pliku tak, że kiedy mogę pobrać fedora mogę sprawdzić sumę kontrolną stąd: https://fedoraproject.org/static/checksums/Fedora-18-i386-CHECKSUMJak obliczyć SHA256 sumę kontrolną pliku Przejdź
Microsoft narzędzie od http://support.microsoft.com/kb/889768 robi tylko MD5 i SHA1.
Nie chcę używać innych narzędzi do pobrania, które nie są podpisane i niedostępne z https lub ze źródeł, o których nie wiem, ponieważ nie ma sensu pobieranie niepodpisanego kodu przez niezaszyfrowane połączenie lub niezaufane źródło, aby zweryfikować podpis innego kodu, aby mu zaufać.
Na szczęście Google oferuje możliwość korzystania z https dla wszystkich plików do pobrania, więc mogę pobrać Przejdź przez bezpieczne połączenie i zacznij od tego.
Oto prosty kod, który robi to dla małego pliku, ale nie jest zbyt dobry dla dużych plików, ponieważ nie jest przesyłany strumieniowo.
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)))
}
Jak uczynić go używać strumieni tak, że działa na dowolnym rozmiarze.