一个例子 :
import ( "crypto/sha1" "encoding/base64")func (ms *MapServer) storee(bv []byte) { hasher := sha1.New() hasher.Write(bv) sha := base64.URLEncoding.EnpreToString(hasher.Sum(nil)) ...}在此示例中,我从字节数组进行着色。您可以使用以下方法获取字节数组
bv := []byte(myPassword)
当然,如果不需要,您不需要在base64中进行编码:您可以使用Sum函数返回的原始字节数组。
下面的评论似乎有些混乱。因此,让我们为下一个用户阐明有关转换为字符串的最佳做法:
- 您永远不会将SHA作为字符串存储在数据库中,而作为原始字节存储
- 当您想向用户显示SHA时,常见的方法是十六进制
- 当您需要一个字符串表示形式(因为它必须适合URL或文件名)时,通常的解决方案是base64,它更紧凑



