美文网首页
用一个小故事来揭秘js加密的神秘面纱

用一个小故事来揭秘js加密的神秘面纱

作者: 麻瓜三号 | 来源:发表于2023-05-17 18:43 被阅读0次

    在夜幕降临的时刻,当人们聚集在一起分享民间鬼故事的时候,总有一种神秘的氛围弥漫在空气中。而今天,我将与你分享一个不同寻常的民间鬼故事,这个故事中隐藏着一段神秘的JS加密代码,让我们一起揭开它背后的魔法!

    这个鬼故事发生在一个古老的村庄,传说中有一个被诅咒的房子,据说住在那里的人会受到恶魔的困扰。有一天,一位勇敢的年轻人,名叫小杰,决定勇闯这个鬼屋,解开其中的谜题。当他进入房间时,他发现了一张古老的纸条,上面写着一段经过JS加密的代码。

    那段JS加密代码看起来像这样:

    var encryptedMessage = "jotjef!uijol!gps!b!tuspoh!b!fyusfnfou/!jotjef!jnbhf-!jotjef!dpnqfot!uif!dpogfuz-!xjui!jotjef!b!gjstu!hvufo!up!jt!b!jefb;!jotjef!jnbhf-!xjui!jotjef!b!mjof;!jotjef!jnbhf-!xjui!jotjef!b!cfuu;!jotjef!jnbhf-!xjui!jotjef!b!opof;!jotjef!jnbhf-!xjui!jotjef!b!ifbw;!jotjef!jnbhf-!xjui!jotjef!b!mjtu;!jotjef!jnbhf-!xjui!jotjef!b!wpje;!jotjef!jnbhf-!xjui!jotjef!b!usbjo;!jotjef!jnbhf-!xjui!jotjef!b!xf;!jotjef!jnbhf-!xjui!jotjef!b!gmvpsfe;!jotjef!jnbhf-!xjui!jotjef!b!nbmm!jnbhfe;!jotjef!jnbhf-!xjui!jotjef!b!gjstu!jefb;!jotjef!jnbhf-!xjui!jotjef!b!gjstu!ofx;!jotjef!jnbhf-!xjui!jotjef!b!gjstu!gmvpsfe;!jotjef!jnbhf-!xjui!jotjef!“;
    

    小杰紧紧握着那张纸条,心中充满了好奇和刺激。他知道这段加密的JS代码将为他解开鬼屋的谜团提供线索。于是,他开始仔细研究这段代码。

    经过一番琢磨,小杰意识到这段加密代码是通过将字母向后移动一位来实现的。于是,他动手修改了代码,将每个字母向前移动一位,并重新运行了程序。

    修改后的代码如下所示:

    // 创建替换映射表
    function createSubstitutionMap(key) {
      let substitutionMap = {};
      for (let i = 0; i < key.length; i++) {
        substitutionMap[String.fromCharCode("a".charCodeAt(0) + i)] = key[i];
      }
      return substitutionMap;
    }
    
    // 加密数据
    function encryptSubstitution(data, substitutionMap) {
      let encryptedData = "";
      for (let i = 0; i < data.length; i++) {
        let char = data[i];
        if (char.match(/[a-zA-Z]/)) {
          let substitutionChar = substitutionMap[char.toLowerCase()];
          let encryptedChar = char === char.toLowerCase() ? substitutionChar : substitutionChar.toUpperCase();
          encryptedData += encryptedChar;
        } else {
          encryptedData += char;
        }
      }
      return encryptedData;
    }
    
    // 解密数据
    function decryptSubstitution(encryptedData, substitutionMap) {
      let decryptionMap = {};
      for (let key in substitutionMap) {
        decryptionMap[substitutionMap[key]] = key;
      }
      let decryptedData = "";
      for (let i = 0; i < encryptedData.length; i++) {
        let char = encryptedData[i];
        if (char.match(/[a-zA-Z]/)) {
          let substitutionChar = decryptionMap[char.toLowerCase()];
          let decryptedChar = char === char.toLowerCase() ? substitutionChar : substitutionChar.toUpperCase();
          decryptedData += decryptedChar;
        } else {
          decryptedData += char;
        }
      }
      return decryptedData;
    }
    

    如果您对文章内容有不同看法,或者疑问,欢迎到评论区留言,或者私信我、到我们的官网找客服号都可以。

    如遇自己源码加密后没备份,可以找我们解决解出恢复源码,任何加密都可以 1.png

    2.png

    相关文章

      网友评论

          本文标题:用一个小故事来揭秘js加密的神秘面纱

          本文链接:https://www.haomeiwen.com/subject/niwisdtx.html