gpt4 book ai didi

encryption - 从文件中读入

转载 作者:IT王子 更新时间:2023-10-29 01:39:09 25 4
gpt4 key购买 nike

我正致力于在 Golang 中制作一个基本的密码管理器,并希望能够存储使用 RSA 加密的密码。我的加密函数和解密函数都有效,并且会正确加密和解​​密。但是,将密码存储在文件中,然后从文件中读回密码后,解密功能将失败。我已检查以确保 RSA key 的读入正确,这不是我的问题,因为 RSA key 的读入工作正常。这是我将加密密码写入文件的方式

ioutil.WriteFile(filename, encPassword, 0644)

这是我读回密码的方式

encrypted, err = ioutil.ReadFile(encryptedFileName)

当我运行我的程序时,我目前收到此错误代码

failed in decrypt_oaep: crypto/rsa: decryption error
exit status 1

我认为读取或写入文件会向文件内容添加一些内容,因为如果我在写入加密密码或从文件中读取之前尝试解密密码,它将正常工作。任何帮助将不胜感激。

如果您需要更多代码,我可以稍后发布更多代码。

编辑:这里是代码共享的链接,包含我的整个代码:https://codeshare.io/PtMxk

最佳答案

在第 167 行中,您使用 label = []byte(product) 调用加密函数。

在第 120 行中,您使用已定义但未初始化的 label 变量调用 decrypt 函数(即您正在发送一个空字节数组)

decrypted = decrypt_oaep(private_key, encrypted, label)

因此,您的解密将无法进行。来自文档:

The label parameter must match the value given when encrypting - https://golang.org/pkg/crypto/rsa/#DecryptOAEP

解决方案:在解密调用中(第 120 行)发送 []byte(product) 作为标签参数。

关于encryption - 从文件中读入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37052943/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com