我正在尝试通过 pycrypto 应用程序在 python 中使用 OpenPGP 加密文件。我一直在关注他们代码中提供的示例:https ://github.com/dlitz/pycrypto/blob/master/lib/Crypto/Cipher/CAST.py
所以我正在使用 mode.openPGP,但我似乎无法使用公钥加密任何内容。我的公钥远远超过了他们指定的 16 字节限制(我见过的任何一代也超过了这个限制)。我应该在这里使用不同的值吗,比如指纹 ID?
我正在尝试读取文件的内容,用密钥对其进行加密,然后将其打印到要发送的新文件中(稍后都将被删除)。我的代码如下:
iv = CryptoRandom.new().read(CAST.block_size)
cipher = CAST.new(public_key, CAST.MODE_OPENPGP, iv)
file = open(filename)
contents = ''.join(file.readlines())
encrypted_contents = cipher.encrypt(contents)
encrypted_filename = filename.replace('/tmp/', '/tmp/encrypted')
encrypted_filename = encrypted_filename.replace('.csv', '.asc')
encrypted_file = open(encrypted_filename, 'w')
encrypted_file.write(encrypted_contents)
return encrypted_filename