js加密算法用Python解密

下面这个js代码如果用python该怎么解密呢?最好把Python代码写上,有用必采纳

function encrypto(message){
    var key = 'MjBxZDAxNDQ=';
    var keyHex = CryptoJS.enc.Utf8.parse(key);
    var encrypted = CryptoJS.DES.encrypt(message, keyHex, {
    mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.Pkcs7
    });
    return encrypted.toString();
}

该加密算法是 DES,key 为密钥,没有偏移量 IV,ECB 模式,Pkcs7 填充方式,Python 在这方面能够直接调用的库比较少,据我所知只有 pyDes 和 Cryptodome 可以实现,pyDes 中 key 的长度要求是 8 位,你这个明显不符合,Cryptodome 不是很熟悉,可以自己搜一下,pyDes 代码示例如下:

import binascii
from pyDes import des, ECB, PAD_PKCS5


def des_encrypt(key, t, iv):
    k = des(key, ECB, iv, pad=None, padmode=PAD_PKCS5)
    en = k.encrypt(t, padmode=PAD_PKCS5)
    return binascii.b2a_hex(en)


def des_decrypt(key, t, iv):
    k = des(key, ECB, iv, pad=None, padmode=PAD_PKCS5)
    de = k.decrypt(binascii.a2b_hex(t), padmode=PAD_PKCS5)
    return de


if __name__ == '__main__':
    secret_key = '12345678'   # 密钥
    text = 'I love Python!'   # 加密对象
    iv = None                 # 偏移量
    secret_str = des_encrypt(secret_key, text, iv)
    print('加密字符串:', secret_str)
    clear_str = des_decrypt(secret_key, secret_str, iv)
    print('解密字符串:', clear_str)

据我经验来看,你应该是做爬虫 JS 逆向遇到了这种算法,通常情况下我们直接调用 nodejs 里面的 crypto-js 库来实现,不同语言不同库也有可能加密解密结果有不一致的情况,直接使用 nodejs 库来实现可以避免很多问题,而且 key 之类的也没有长度限制,nodejs 实现代码如下:

// 引用 crypto-js 加密模块
CryptoJS = require("crypto-js")

var key = CryptoJS.enc.Utf8.parse("MjBxZDAxNDQ=");
var iv = CryptoJS.enc.Utf8.parse("");

function desEncrypt(word) {
    var srcs = CryptoJS.enc.Utf8.parse(word);
    var encrypted = CryptoJS.DES.encrypt(srcs, key, {
        iv: iv,
        mode: CryptoJS.mode.ECB,
        padding: CryptoJS.pad.Pkcs7
    });
    return encrypted.toString();
}

function desDecrypt(word) {
    var srcs = word;
    var decrypt = CryptoJS.DES.decrypt(srcs, key, {
        iv: iv,
        mode: CryptoJS.mode.ECB,
        padding: CryptoJS.pad.Pkcs7
    });
    return decrypt.toString(CryptoJS.enc.Utf8);
}

console.log(desEncrypt("测试"))

供参考。
https://blog.csdn.net/u010741112/article/details/121945796