https://github.com/kless/osutil上的
osutil库支持所有哈希类型。
crypt()
您的密码哈希可以使用以下php代码生成:
echo crypt('rasmuslerdorf', '$6$usesomesillystringforsalt');此代码产生以下哈希:
$6$usesomesillystri$D4IrlXatmP7rx3P3InaxBeoomnAihCKRVQP22JZ6EY47Wc6BkroIuUUBOov1i.S5KPgErtP/EN5mcO.ChWQW21
可以这样在Go中复制:
package mainimport ( "fmt" "github.com/kless/osutil/user/crypt/sha512_crypt")func main() { c := sha512_crypt.New() hash, err := c.Generate([]byte("rasmuslerdorf"), []byte("$6$usesomesillystringforsalt")) if err != nil { panic(err) } fmt.Println(hash)}运行时,它还会产生正确的哈希值:
$6$usesomesillystri$D4IrlXatmP7rx3P3InaxBeoomnAihCKRVQP22JZ6EY47Wc6BkroIuUUBOov1i.S5KPgErtP/EN5mcO.ChWQW21
我希望这回答了你的问题。
在实现此功能时,请注意,salt中仅使用16个字符,因此为salt返回相同的哈希值
usesomesillystri。确保在生产代码中选择无规盐。



