吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 956|回复: 8
收起左侧

[求助] 求助JS大佬,关于AES加密的一个问题。

[复制链接]
xiaomeng6 发表于 2022-11-8 21:35
求助一个图中的这个AES加密,key和iv不应该都是16位的吗?代码是解密vx小程序获得的。我通过Nodejs调用可以正常加密或者解密,但是我想用python还原这个加密,及想搞明白这个key和iv是怎么一回事。
希望大佬在返回无聊看到我这个帖子,顺便解答一下。我再附加一下代码,希望有大佬能给小弟指点迷津。

[JavaScript] 纯文本查看 复制代码
var e = require("./9E4CA3276953D8DFF82ACB2091411631"), r = e.enc.Base64.parse("HqNRc2vg5JJGaGXeR0wsiw=="), n = e.enc.Base64.parse("HqNRc2vg5JJGaGXeR0wsiw==");
module.exports = {
    Encrypt: function(t) {
        var a = e.enc.Utf8.parse(t);
        return e.AES.encrypt(a, r, {
            iv: n,
            mode: e.mode.CBC,
            padding: e.pad.Pkcs7
        }).toString();
    },
    Decrypt: function(t) {
        var a = e.enc.Base64.parse(t), c = e.enc.Base64.stringify(a);
        console.log(a)
        return e.AES.decrypt(c, r, {
            iv: n,
            mode: e.mode.CBC,
            padding: e.pad.Pkcs7
        }).toString(e.enc.Utf8).toString();
    }
};
求助JS大佬.png

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

laos 发表于 2022-11-8 21:59
key iv 都进行base64解码,然后解密代码该怎么写就怎么写
prince_cool 发表于 2022-11-8 22:01
 楼主| xiaomeng6 发表于 2022-11-8 22:12
laos 发表于 2022-11-8 21:59
key iv 都进行base64解码,然后解密代码该怎么写就怎么写

大佬能帮忙把base64解码后的值给我看一下吗?我用网页在线解码解不出来。
 楼主| xiaomeng6 发表于 2022-11-8 22:13
prince_cool 发表于 2022-11-8 22:01
n是iv,r是key都是"HqNRc2vg5JJGaGXeR0wsiw=="

嗯嗯,我知道,但是iv和key长度应该都是16位的,这个字符长度是24位呀
prince_cool 发表于 2022-11-8 22:31
xiaomeng6 发表于 2022-11-8 22:13
嗯嗯,我知道,但是iv和key长度应该都是16位的,这个字符长度是24位呀

在浏览器控制台atob("HqNRc2vg5JJGaGXeR0wsiw==")就是原16位数据了
 楼主| xiaomeng6 发表于 2022-11-8 22:31
问题解决了,大佬们,感谢,老弟做个总结,我一开始给理解错误了,key和iv都是base64解码之后是字节集,错误的就是 我给字节集又转成utf-8了,刚刚尝试直接把字节集放到aes库里面就解密成功了。

还有就是,怎么删帖呀,现在一看 我问的问题真的脑残问题,惨不忍睹。
yann66 发表于 2022-11-8 22:59
无语。。。
jidesheng6 发表于 2022-11-9 09:24

:lol

这样解


#解密方法
def mainDecrypto(rawEntrySting,decryptoKey="",userId="",roomId=0,requestTime=0,IsDecryptoPlayUrl=False):
    decryptoIv="wMI4e8E1iT3ki8Ff"
    rawEntrySting=base64.b64decode(rawEntrySting.strip())
    if(IsDecryptoPlayUrl==False):
        aesDecryptoInstance=AES.new(decryptoKey,AES.MODE_CBC,decryptoIv)            
        aesDecryptoContent=aesDecryptoInstance.decrypt(rawEntrySting).decode('utf-8').strip().encode('utf-8')
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 07:16

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表