【问题标题】:Error decrypting file解密文件出错
【发布时间】:2010-11-06 16:05:50
【问题描述】:

我使用来自tldp.org/LDP/LG/issue87/vinayak.html 的想法加密文件。我下载并编译了这个源代码,用于加密/解密一个简单的文本文件。编译后我会这样做:

./blowfish input_file.txt output_enc.txt output_dec.txt

我使用选项:

  1. G 用于生成密钥
  2. E 用于加密文件,所以会生成output_enc.txt
  3. D 用于解密 output_enc.txt 从而生成 output_dec.txt

在第三步中,我得到了一个分段错误。生成了一个解密文件,但它的某些字符与原始文件不同。有什么想法吗?

【问题讨论】:

  • 请给我们一些源代码继续。也许您可能认为分段错误发生在哪里。
  • 我会第二。没有代码,我们只是在黑暗中拍摄。这是一个想法:尝试一个较小的文件,看看它是否仍然存在段错误。如果不是,那么你在某处声明的缓冲区太小了。
  • 嗨,我试图粘贴代码,但我不能。这里是原始的小源文件:tldp.org/LDP/LG/issue87/misc/vinayak/sym_funcs.c.txt

标签: c ssl encryption blowfish


【解决方案1】:

在我的机器上试过了,结果一样,我只能假设这是写给旧的 加密库,新的与之不兼容。 如果感兴趣的话,Segmentation fault就在线

 if (EVP_DecryptFinal (&ctx, outbuf + olen, &tlen) != 1)

进程以信号 11 (SIGSEGV) 的默认操作终止 访问不在地址 0x808080C 的映射区域内

【讨论】:

    【解决方案2】:

    这个问题与我之前回答的问题非常相似。您在发布问题之前是否进行了搜索? 无论如何,这里是link。您用作源的页面是错误的。请注意,我提供的代码只是原始提供代码的更正版本,可以进行优化。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-19
      • 2019-08-31
      • 1970-01-01
      相关资源
      最近更新 更多