m0_37445461 2017-02-05 03:54 采纳率: 0%
浏览 1079

求解出一段js中函数加密的内容

var config = require("./config");
var flag = config.flag;
var tips = "this_is_test_msg!And happy New Year~~";
var key = config.key;

function encode(msg, key) {
var k = key.split("").map(function (v) {
return v.charCodeAt(0)
});
var len = k.length;
var m = [];
msg.split("").map(function (v) {
return v.charCodeAt(0)
}).forEach(coder);
return new Buffer(m);

function coder(v, i) {
    m.push(v ^ k[i % len] ^ (i === 0 ? 0xFF : m[i - 1]));
}

}

console.log(encode(flag, key).toString('base64'));
console.log(encode(tips, key).toString('base64'));

output如下
zMXt3urn4KHrzsuDieP4s6e4htX39L/biraQx8Ksp4aMpbqk1Mw=
3tPz1MT40urmz/2widzHgfH4xZDTjN7s+u2rhpTUoZSQoKqCqQ==

  • 写回答

1条回答 默认 最新

  • threenewbee 2017-02-05 17:52
    关注

    就是异或加密,异或加密的特点是,你用 原文^key=密文 你用 密文^key=原文
    你这里的key是config.key
    当然,你首先要把密文用base64解码,然后再调用你的异或算法,即可得到原文了。

    评论

报告相同问题?

悬赏问题

  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记