javascript从ruby openssl解密crypto js
我试图用ruby加密,用javascript解密。在ruby中,我使用openssl模块,在javascript中,我使用crypto js库 我可以使用Ruby中的以下代码进行加密和解密:javascript从ruby openssl解密crypto js,javascript,encryption,cryptography,aes,cryptojs,Javascript,Encryption,Cryptography,Aes,Cryptojs,我试图用ruby加密,用javascript解密。在ruby中,我使用openssl模块,在javascript中,我使用crypto js库 我可以使用Ruby中的以下代码进行加密和解密: def decrypt_with_aes (key, encrypted_message) message = Base64.decode64(encrypted_message) aes = OpenSSL::Cipher.new("AES-256-CBC") aes.decrypt aes.ke
def decrypt_with_aes (key, encrypted_message)
message = Base64.decode64(encrypted_message)
aes = OpenSSL::Cipher.new("AES-256-CBC")
aes.decrypt
aes.key = key[:key] || key['key']
aes.iv = key[:iv] || key['iv']
# output result
aes.update(message) + aes.final
end
def encrypt_with_aes(key, message)
aes = OpenSSL::Cipher.new("AES-256-CBC")
aes.encrypt
aes.key = key[:key] || key['key']
aes.iv = key[:iv] || key['iv']
# output result
Base64.encode64(aes.update(message) + aes.final)
end
我正在使用以下键和iv
{ key:
{
key: '3f9390ea971d68b82ecab512cbeb073a0a399157dbe22e4d3054c0f1f8c0037a'
iv: 'aba3ac43cf8befcb4678570abb17b6d0'
}
}
关于我试图加密的文本,当我尝试使用相同的密钥&iv通过crypto-js解密时,返回一个空字符串。请帮忙
function decrypt(encryptedtext, key){
return CryptoJS.AES.decrypt(
CryptoJS.enc.Base64.parse(encryptedtext),
CryptoJS.enc.Base64.parse(key['key']), {iv:
CryptoJS.enc.Hex.parse(key['iv'])}).toString(CryptoJS.enc.Utf8);
}
为什么要解析提供给解密函数的数据?您是否尝试过在不进行Base64解析的情况下为解密函数提供原始数据?我尝试了两种方法,但luckI没有建议您在CryptoJS的google groups论坛上查看这个问题