我希望通过参加 Top Code Go Learning Challenges 学习 Go 编程。我目前正在解决他们的 Simple API Web Server problem。该问题的一部分要求您按照以下方式对密码字符串进行加密:"‘{SHA256}’ + 用户密码的 Base64 编码 SHA256 摘要"
我已经使用了以下代码来实现,但是结果与提供的测试用例不匹配。
import (
"encoding/base64"
"crypto/sha256"
)
func encrtyptPasswords(password string) string {
h := sha256.New()
return "{SHA256}" +
string(base64.StdEncoding.EncodeToString(h.Sum([]byte(password))))
}
对于输入的abcd1234,它应该加密为:{SHA256}6c7nGrky_ehjM40Ivk3p3-OeoEm9r7NCzmWexUULaa4=
但我得到的是{SHA256}YWJjZDEyMzTjsMRCmPwcFJr79MiZb7kkJ65B5GSbk0yklZkbeFK4VQ==。我怀疑我使用的加密库不正确,但我不确定我应该使用什么,因为这似乎是SHA256加密的标准库方法。