我正在使用 Windows 凭据管理器来存储我的应用程序的数据库凭据,这些凭据是通过wincred 包内置的。
它适用于检索由程序包本身创建的凭据的密码,但是对于直接通过 Windows 凭据管理器创建的凭据,程序包在从 [] 字节转换为字符串时在字符之间添加“空格”(字节“0”)。
//Retrieve a credential object
package main
import (
"fmt"
"github.com/danieljoos/wincred"
)
func main() {
cred, err := wincred.GetGenericCredential("myGoApplication")
if err == nil {
fmt.Println(string(cred.CredentialBlob))
}
}
在上面的示例中,我将“myGoApplication”的密码设置为 123456,但它检索为
1 2 3 4 5 6
[]byte 表示是
[49 0 50 0 51 0 52 0 53 0 54 0]
我想知道是否有人对可能导致此问题的原因有任何想法。