使用 RSA/PEM 文件解密测试消息时出错

大家好,我目前正在尝试使用以下代码完成三件事。

  1. 使用 crypto/rsa 库生成公钥/私钥对。

  2. 将公钥和私钥导出到单独的 PEM 文件中,以便在单独的程序中使用。

  3. 将 PEM 文件分别加载到它们各自的脚本中以对消息进行编码/解码。

一切正常,直到我尝试使用“Private-key-decryption.go”解密测试消息。解密密文“解密错误:加密/rsa:解密错误”时收到此错误

包括我正在使用的所有代码块

密钥生成.go


qq_花开花谢_0
浏览 116回答 1
1回答

慕运维8079593

你很近。在加密部分,您使用该%x格式字符串生成一个十六进制字符串。所以,在解密部分,你应该做相应的十六进制解码。在你的Private-key-decryption.go, 改变ciphertext := []byte("1f58ab29106c7971c9a4307c39b6b09f8910b7ac38a8d0abc15de14cbb0f651aa5c7ca377fd64a20017eaaff0a57358bc8dd05645c8b2b24bbb137ab2e5cf657f9a6a7593ce8d043dd774d79986b00f679fc1492a6ed4961f0e1941a5ef3c6ec99f952b0756700a05314c31c768fe9463f77f23312a51a97587b04b4d8b50de0")到ciphertext, err := hex.DecodeString("1f58ab29106c7971c9a4307c39b6b09f8910b7ac38a8d0abc15de14cbb0f651aa5c7ca377fd64a20017eaaff0a57358bc8dd05645c8b2b24bbb137ab2e5cf657f9a6a7593ce8d043dd774d79986b00f679fc1492a6ed4961f0e1941a5ef3c6ec99f952b0756700a05314c31c768fe9463f77f23312a51a97587b04b4d8b50de0")if err != nil {        fmt.Printf("Error from hex decode: %s\n", err)        return}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go