首页 > 后端开发 > Golang > 正文

如何在 Go 中生成字符串的 SHA 哈希?

Barbara Streisand
发布: 2024-11-23 08:29:15
原创
158 人浏览过

How to Generate a SHA Hash of a String in Go?

如何在 Go 中轻松生成字符串的 SHA 哈希

生成字符串的 SHA 哈希是编程中的常见任务,Golang 提供了一种简单的方法使用 crypto/sha 包来执行此操作。下面是一个实际示例,可帮助您理解该过程:

考虑需要为密码字符串 myPassword := "beautiful" 生成 SHA 哈希的场景。要在 Go 中实现此目的,请遵循给定的代码片段:

import (
    "crypto/sha1"
    "encoding/base64"
)

func generateSHA(password string) string {
    hasher := sha1.New()
    hasher.Write([]byte(password))
    sha := base64.URLEncoding.EncodeToString(hasher.Sum(nil))
    return sha
}

func main() {
    myPassword := "beautiful"
    result := generateSHA(myPassword)
    fmt.Println("SHA hash:", result)
}
登录后复制

该过程涉及使用 sha1.New() 创建新的 SHA-1 哈希算法实例。然后,使用 hasher.Write() 将密码字节传递到算法中。最后, hasher.Sum(nil) 计算消息哈希并使用 base64.URLEncoding.EncodeToString() 将其转换为 base64。

请记住,出于安全原因,SHA 哈希应作为原始字节存储在数据库中。为了用户显示或 URL 兼容性,通常使用十六进制或 Base64 编码。

以上是如何在 Go 中生成字符串的 SHA 哈希?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板