SHA1秘密编码,等效于PHP hash_hmac

I have the following PHP function

public function encodePassword($raw, $salt)
    {
        return hash_hmac('sha1', $raw . $salt, $this->secret);
    }

which I need to translate to Go. I found the following example, but it doesn't involve secret key. https://gobyexample.com/sha1-hashes

How can I create a function in Go, that produces exactly same result as PHP's hash_hmac?

Update: After Leo's answer, found this resource with hmac examples in many languages: https://github.com/danharper/hmac-examples. Can be useful to somebody.

doudouchan5830
doudouchan5830 对于sha1编码:hmac.New(sha1.New,key)
大约 2 年之前 回复
dthok9648
dthok9648 您是否已经尝试过hmac软件包?
大约 2 年之前 回复

2个回答



类似这样的东西:</ p>

  import“ crypto / sha1” 
import“ crypto / hmac“

func hash_hmac_sha1(密码,盐,密钥[] byte)[] byte {
h:= hmac.New(sha1.New,key)
h.Write(password)
h.Write( salt)
返回h.Sum(nil)
}
</ code> </ pre>
</ div>

展开原文

原文

Something like this:

import "crypto/sha1"
import "crypto/hmac"

func hash_hmac_sha1(password, salt, key []byte) []byte {
    h := hmac.New(sha1.New, key)
    h.Write(password)
    h.Write(salt)
    return h.Sum(nil)
}

donglulong0877
donglulong0877 感谢Leo,这就是我想要的。
大约 2 年之前 回复



类似于此函数:</ p>

  func decriptSign(消息字符串,键字符串)字符串 {
h:= hmac.New(sha1.New,[] byte(key))
h.Write([] byte(message))
返回hex.EncodeToString(h.Sum(nil))
}

</ code> </ pre>
</ div>

展开原文

原文

Like this function:

func decriptSign(message string, key string) string {
    h := hmac.New(sha1.New, []byte(key))
    h.Write([]byte(message))        
    return hex.EncodeToString(h.Sum(nil))
}

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐