首页
学习
活动
专区
圈层
工具
发布

锈解aes
EN

Stack Overflow用户
提问于 2022-08-20 16:07:17
回答 1查看 272关注 0票数 0

我正试图破译一根生锈的绳子。我可以用CryptoJS在js中解码它,但它在openssl中不起作用。error Err(ErrorStack([Error { code: 101077092, library: "digital envelope routines", function: "EVP_DecryptFinal_ex", reason: "bad decrypt", file: "crypto/evp/evp_enc.c", l ine: 612 }]))

代码语言:javascript
复制
CryptoJS.AES.decrypt(text, "24408752.37717366").toString(CryptoJS.enc.Utf8)
代码语言:javascript
复制
use openssl::symm::decrypt;
use openssl::symm::Cipher;

static SALT: &'static [u8] = b"24408752";
static KEY: &'static [u8] = b"37717366";

let cipher = Cipher::aes_256_cbc();
let key = openssl::pkcs5::bytes_to_key(cipher, openssl::hash::MessageDigest::md5(), KEY, Some(SALT), 1).unwrap();
let new_data = decrypt(cipher, &key.key, key.iv.as_deref(), message);
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-08-20 20:52:59

代码语言:javascript
复制
let message_d = base64::decode(message).unwrap();
let cipher = Cipher::aes_256_cbc();
let key = openssl::pkcs5::bytes_to_key(cipher, openssl::hash::MessageDigest::md5(), KEY, Some(&message_d[8..16]), 1).unwrap();
let new_data = decrypt(cipher, &key.key, key.iv.as_deref(), & message_d[16..]).unwrap();
println!("{}", new_data.iter().map(|e| *e as char).collect::<String>());
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73428201

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档