2

文字列を暗号化し、Rails アプリに渡したいので、Nodejs と Ruby の両方で暗号化ライブラリを見つけます。

Nodejs の場合:

var crypto = require('crypto'),
    algorithm = 'aes-256-ctr',
    password = 'd6F3Efeqd6F3Efeqd6F3Efeqd6F3Efeq';

function encrypt(text){
  var cipher = crypto.createCipher(algorithm,password)
  var crypted = cipher.update(text,'ascii',"base64")
  crypted += cipher.final("base64");
  return crypted;
}

結果は次のとおりです。

encrypt("1") //-输出 2g==

ルビーで

def encrypt(des_text)
    des = OpenSSL::Cipher::Cipher.new('aes-256-ctr')
    des.encrypt
    des.key = 'd6F3Efeqd6F3Efeqd6F3Efeqd6F3Efeq'
    result = des.update(des_text)
    result << des.final
    return Base64.encode64 result
end

結果は次のとおりです。

encrypt("1")  # 输出 1A==

同じ方法とキーを使用して同じ文字列を暗号化しますが、結果が同じにならないのはなぜですか?

4

1 に答える 1