Go-SHA1

来源:互联网 发布:h网络快还是e网络快 编辑:程序博客网 时间:2024/06/05 04:04

SHA1签名。

package mainimport (    "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)}
0 0
原创粉丝点击