SHA1签名。
package main
import (
"crypto/sha1"
"fmt"
"io/ioutil"
"os"
)
/*
Get the sha1 of file's content.
If success, return the sha1 hex string.
If fail, return "".
*/
func GetFileSHA1(filename string) (sum string, success bool) {
success = false
data, err := ioutil.ReadFile(filename)
if err != nil {
fmt.Println("Sha1 sum error: ", err)
return
}
success = true
b := sha1.Sum(data)
sum = fmt.Sprintf("%X", b)
return
}
func main() {
temp_file_name := "xyzabcdefghijklmnxyz.xyz"
content := []byte("Hello, Go Programming Language!")
err := ioutil.WriteFile(temp_file_name, content, 0666)
if err != nil {
fmt.Println(err)
return
}
sha1_sum, success := GetFileSHA1(temp_file_name)
if success {
//C6ADC2F32EF2455EE0A7F66A874431B20043384F
fmt.Println(sha1_sum)
} else {
fmt.Println("Failed to calculate sha1 sum.")
}
os.Remove(temp_file_name)
}