ruby - 使用 Golang 和 Ruby 加密和解密 AES

标签 ruby encryption cryptography go aes

我正在努力让两个安全系统通过通用加密方案进行通信。我选择了 AES,因为它看起来是一个安全标准,但我并没有接受它,只要我有双向加密。

这是Go sourceRuby source简化为一个非常清晰的示例,可以从命令行运行并查看差异。我输出字节码是为了更容易进行文字比较。

我在两者中都使用 128 位 CFB,并且它们似乎都没有填充,非常感谢任何帮助!

最佳答案

您在 Ruby 代码中传递了错误的 key 大小。它应该是192。(因为key.size是24字节== 192位)

cipher = OpenSSL::Cipher::AES.new(192, :CFB)
cipher.encrypt
cipher.key = key
cipher.iv = iv
encrypted = cipher.update(input) + cipher.final()
puts "Output:     [" + encrypted.bytes.join(" ") + "]"

输出:

Output:     [155 79 127 80 31 163 142 111 13 211 221 163 219 248]

关于ruby - 使用 Golang 和 Ruby 加密和解密 AES,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22591778/

相关文章:

ruby - 生产数据的去识别

php - 如何使用 PHP 或 Ruby 从图像中去除某些颜色?

linux - 在 initramfs 脚本中修改/设置根设备

string - R中的密码生成器功能

hash - 用户密码的 Golang Base64 编码 SHA256 摘要

ruby-on-rails - Rails 路由 - 资源的自定义路由

ruby - Rails 3 多态关联,具有多个内容项的用户模型?

sql-server - 无论如何解密加密的sql server存储过程?

vb.net - VB.NET 中的安全数据?

c - 字节泛洪密码学问题(C 库)