javascript从ruby openssl解密crypto js

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

我试图用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.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论坛上查看这个问题