1
我想加密一個字符串並傳遞給Rails應用程序,所以我在Nodejs和Ruby中都找到了加密庫。在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==
在Ruby
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==
所以我用相同的方法和密鑰加密一個相同的字符串,爲什麼結果不一樣?
什麼都在你面前的加密字節的base64編碼呢? –