我需要在 ruby 中进行三重 DES 加密和解密。我是否可以使用 openpgp gem 或任何其他专用 gem 来进行三重 DES 加密/解密。请建议我。
谢谢
我需要在 ruby 中进行三重 DES 加密和解密。我是否可以使用 openpgp gem 或任何其他专用 gem 来进行三重 DES 加密/解密。请建议我。
谢谢
您可能正在考虑openssl,而不是openpgp。这是 ruby 中的 openssl 加密函数的文档。您还可以使用更简单的乱码模块。无论哪种方式,您都需要使用 openssl 支持编译 Ruby;要么自己编译,要么找一个可以下载的。
如果它绝对必须是三重 DES,以下是获取具有 OpenSSL 扩展的实例的方法:
cipher = OpenSSL::Cipher::Cipher.new("des-ede-cbc")
cipher.encrypt
key = cipher.random_key
iv = cipher.random_iv
...
请确保致电random_key
并random_iv
按照此处和 SilverbackNet 已经提到的文档中的说明进行操作。在那里,您还将找到有关如何进行实际加密和解密的示例。
如果您可以自由选择算法,您可能希望选择 AES 而不是 Triple DES,它要快得多,并且通常被认为是更现代的密码。