一位同事向我提供了两个他使用 GNUPG 加密的文本文件,AES128/AES256 没有加盐。
使用以下示例https://stackoverflow.com/a/1400596/300972,我尝试在 iOS 应用程序中解密这两个文件,一个使用 AES256 示例,第二个通过将算法修改为 kCCAlgorithmAES128 并将密钥大小修改为 kCCKeySizeAES128。
将文件加载到 NSData 对象证明是成功的;我能够输出 NSData。但是,在解密时,它们总是以 kCCDecodeError (-4304) 失败。我认为可能是填充,所以我们尝试了不同的变体,原来是 kCCOptionPKCS7Padding,仍然是同样的错误。我尝试了填充 0,它提供了一个截断的 NSData 对象,我无法从中创建 NSString。(UTF8 编码)。
有没有人能够在 iOS 环境中成功解密使用 GNUPG 加密的文件?你能给我们提供经验教训吗?