// SHA1哈希经常用于计算二进制或者文本blob的短标识, // 例如Git就使用SHA1来标识版本化的文件和目录。 package main import ( "crypto/sha1" "fmt" ) func main() { s := "sha1 this string" // 生成散列的模式是: // 1. sha1.New() // 2. sha1.Write(bytes) // 3. sha1.Sum([]byte{}) h := sha1.New() h.Write([]byte(s)) //将字符串强制类型转换为字节,[]byte(s),其中s为字符串 // 将最终的哈希结果作为字节切片 // 可以将Sum()方法的参数添加到一个已经存在的字节切片中,通常不需要使用它 bs := h.Sum(nil) // SHA1的值通常以十六进制的形式打印出来 // 使用%x格式化谓词将哈希的结果转换为十六进制的字符串 fmt.Println(s) fmt.Printf("%x\n", bs) } // 还有其他的计算哈希的方式,如MD5哈希, // 导入crypto/md5包,然后使用md5.New() // 如果需要加密安全的hash,那就要仔细研究一下哈希强度了。