nodejs中反解php的tripledes-ecb加密的密文。

发布于 2022-09-12 04:17:11 字数 606 浏览 21 评论 0

<?php
function _encrypt($value,$mAuthkey) {
    if(null==$value) return false;
    $td = mcrypt_module_open('tripledes', '', 'ecb', '');
    $td_size = mcrypt_enc_get_iv_size($td);
    $iv = mcrypt_create_iv($td_size,MCRYPT_RAND);
    $key = substr($mAuthkey, 0, $td_size);
    mcrypt_generic_init($td, $key, $iv);
    $ret = base64_encode(mcrypt_generic($td, $value));
    mcrypt_generic_deinit($td);
    mcrypt_module_close($td);
    return $ret;
}

以上为php的加密代码,请问在nodejs中需要怎么写才可以反解出来以上代码加密出来的内容哪?

已经琢磨一天了,网上的方法都尝试过了,可是解出来的都是乱码,到底怎么样才可以呀。。。

真心求帮助啊~

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

美男兮 2022-09-19 04:17:11
// php的padding算法为PKCS7,而node的padding算法是:ZeroPadding;详情见https://segmentfault.com/a/1190000019793040
// 另外,chiper和chiperiv是两回事儿,千万不要混用。
function decodeCookie(value) {
    if (!value) {
        return '';
    }
    const PKCS7 = '\x01\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08';
    var key = COOKIE_KEY + PKCS7;
    value = Buffer.from(decodeURIComponent(value), 'base64');
    const cipher = crypto.createDecipheriv('des-ede3', key, null);
    cipher.setAutoPadding();
    let text = cipher.update(value) + cipher.final();
    console.log(text);
}

终于弄出来了

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文