一尘不染

使用Go编码UTF-8

go

我试图在Go中找到以下C#代码的等效项。

pwd = "abc123";
encoding = Encoding.UTF8;
SHA1 sha1 = SHA1.Create();
byte[] hash = sha1.ComputeHash(encoding.GetBytes(text));

我知道Go 中有一个crypto / sha1软件包。我知道我可以跑步:

pwd := "abc123"
hasher := sha1.New() // SHA1.Create();
hasher.Write([]byte(pwd)) // sha1.ComputeHash but without encoding in UTF8 ?

我不确定散列时如何获得正确的编码。我想知道是否可以得到一些帮助来转换此


阅读 1545

收藏
2020-07-02

共1个答案

一尘不染

根据文档:

缺少字节级转义的字符串文字始终包含有效的UTF-8序列。

因此,如果在Golang源代码中,则无需将字符串编码为utf8。但是,如果字符串来自输入,则utf8包是您的朋友。

2020-07-02