加密羞耻的JS代码

这里是一段不为人知的代码,有着不为人知的效果,就算有人点进来,也不能知道到底是什么效果。

除非,猜中密码或者暴力破解了……

F12也没有用哦[doge]

完蛋啦 我自己把密码忘了

你好啊…只有知道密码的人才能看到这一页的效果哦

早上醒来突然想着有时候如果需要隐藏一些界面效果,只给知道密码的人看应该怎么弄,毕竟有时候按一下f12就可以看到怎么回事了。

想了想只要把代码加密了存在字符串里,用用户输入的密码解密字符串并eval就好了。

密码错了也跑不了,密码对了就可以看到效果了。

有机会可以在博客里面放一个私人空间233

上面就是这个效果,密码……我还是留着自己看吧

顺带放一下代码

1
2
3
4
5
6
7
8
9
10
const key = CryptoJS.enc.Utf8.parse('0123456789ABCDEF');
const plainText = `
alert('这里是一段代码哦');
`
let encryptedData = CryptoJS.AES.encrypt(plainText, key, {
mode: CryptoJS.mode.ECB,
padding: CryptoJS.pad.Pkcs7
});
encryptedData = encryptedData.ciphertext.toString();
console.log("加密后:" + encryptedData);

我们可以从这里拿到加密后的代码串,然后上传时我们把plainText里实际的代码删掉就没人看得到了。

然后就是每次取用户输入的密码来尝试解密并执行,代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
function dec() {
const text = document.getElementById('theInput').value;
console.log(text);
const key = CryptoJS.enc.Utf8.parse(text);
const encryptedData = 'b7cff6162daab657c26844f60e00fada1bb98c1d7f14eabe350e61742f1c5e08a151ce72b57bd8a8d5c6b14ed06102f53876a31f5d3f714dbe1724665f0b37cc944b1fbeb3b031abd4f713a86e68a70722303d2e81358e7155e71a122e94c702d9043428437505f63f32d70610fc8ca73951763531133025d4713cb5104e8ad2';
const encryptedHexStr = CryptoJS.enc.Hex.parse(encryptedData);
const encryptedBase64Str = CryptoJS.enc.Base64.stringify(encryptedHexStr);
const decryptedData = CryptoJS.AES.decrypt(encryptedBase64Str, key, {
mode: CryptoJS.mode.ECB,
padding: CryptoJS.pad.Pkcs7
});
const decryptedStr = decryptedData.toString(CryptoJS.enc.Utf8);
eval(decryptedStr);
}

这一段encryptedData就是加密后的代码了。

嗯就这样…