3

这是我尝试过的:

用我的公钥加密消息

openssl enc -aes-256-cbc -salt -kfile key.pub -in message.txt -out message.enc

使用我的私钥解密消息

openssl enc -d -aes-256-cbc -salt -in message.enc -pass file:mykey.pem 

解密错误

bad decrypt
452:error:06065064:digital envelope routines:EVP_DecryptFinal_ex:bad decrypt:evp_enc.c:330:
4

4 回答 4

4

此代码有效:

openssl rsautl -pubin -inkey key.pub -encrypt -in message.txt -out message.enc

openssl rsautl -inkey privkey.pem -decrypt -in message.enc -out message.dec
于 2010-03-06T23:16:07.263 回答
1

用来

openssl rsautl -pubin -inkey key.pub -encrypt -in message.txt -out message.enc

您需要定义选项 -raw 以忽略填充:)

openssl rsautl -pubin -inkey key.pub -encrypt -in message.txt -out message.enc -raw

于 2014-02-24T03:26:17.733 回答
1

enc - symmetric cipher routines所以你应该使用rsautl

正确解决方案:

在发送方

  1. 生成密码
  2. enc使用密码加密您的消息
  3. rsautl使用公钥加密密码
  4. 发送编码的消息和编码的密码

在接收方

  1. rsautl使用私钥解密密码
  2. enc使用密码解密消息
于 2016-08-29T15:58:33.013 回答
0

加密:

openssl enc -aes-256-cbc -salt -pass file:password.txt -in message.txt -out message.enc

解密:

openssl enc -aes-256-cbc -d -salt -pass file:password.txt -in message.enc -out message.dec

文件的第一行password.txt包含您的密码。

于 2010-03-06T21:48:12.223 回答