使用Golang和Ruby加密和解密AES

时间:2014-03-23 13:51:50

标签: ruby encryption cryptography go aes

我正致力于通过通用加密方案进行两个安全系统通话。我选择了AES,因为它似乎是一个安全的标准,但我没有嫁给它,只要我有双向加密。

以下是Go sourceRuby source简化到一个非常明确的示例,从命令行运行并查看差异。我输出字节码以便于字面比较。

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

1 个答案:

答案 0 :(得分:2)

您在Ruby代码中传递了错误的密钥大小。它应该是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]