我正在尝试在 Ruby 中进行一些三重 DES 加密。我正在尝试复制此页面的结果:http: //da.nmilne.com/des.html
我正在尝试在 Ruby 中复制这些结果。我怀疑问题是密钥应该是一个字符串,但我需要传入一个十六进制密钥。那个或被加密的字符串格式错误。或者两者兼而有之。:-)
require 'openssl'
des = OpenSSL::Cipher::Cipher.new("des-ede-cbc")
des.encrypt
des.key="23232323232323234545454545454545"
des.update("0000000000000000")
res=des.final
res.unpack('H*')
=> ["5045c5d37ca4d13b"]
但它应该是:
=> ["3a42d7a1d1c60c40"]
关于我哪里出错的任何指示?
- 此处记录了不同的 3DES 算法:http ://www.openssl.org/docs/apps/enc.html
- 为清晰起见进行了编辑