登录
首页 >  Golang >  Go问答

Golang 相当于 Java 的 SHA256withRSA

来源:stackoverflow

时间:2024-04-23 11:39:20 476浏览 收藏

一分耕耘,一分收获!既然打开了这篇文章《Golang 相当于 Java 的 SHA256withRSA》,就坚持看下去吧!文中内容包含等等知识点...希望你能在阅读本文后,能真真实实学到知识或者帮你解决心中的疑惑,也欢迎大佬或者新人朋友们多留言评论,多给建议!谢谢!

问题内容

是否有 Java 的 java.security.Signature 的 SHA256withRSA 的 Golang 等效项?一些研究表明,我无法简单地计算 SHA256 哈希值,然后使用 RSA 对其进行签名。


解决方案


弄清楚如果有人偶然发现了同样的问题,这就是它在 go 中的工作原理

func main() {
    privateKey := loadPrivateKey()
    h := sha256.New()
    h.Write([]byte(`your message`))
    d := h.Sum(nil)

    signature, err := rsa.SignPKCS1v15(rand.Reader, privateKey, crypto.SHA256, d)
    if err != nil {
        panic(err)
    }

    fmt.Printf("Signature in byte: %v\n\n", signature)

    encodedSig := base64.StdEncoding.EncodeToString(signature)

    fmt.Printf("Encoded signature: %v\n\n", encodedSig)
}

今天关于《Golang 相当于 Java 的 SHA256withRSA》的内容就介绍到这里了,是不是学起来一目了然!想要了解更多关于的内容请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>