js 数据加密解密(JS字符串隐形加密技术)

技术原理请见文章:JavaScript奇技淫巧:隐形字符,接下来我们就来聊聊关于js 数据加密解密?以下内容大家不妨参考一二希望能帮到您!

js 数据加密解密(JS字符串隐形加密技术)

js 数据加密解密

技术原理请见文章:

JavaScript奇技淫巧:隐形字符

源码:

<html> <h2>字符串隐身术</h2> <textarea id="code" style="font-size:9px; height:500px; width: 600px;"> console.log = function(){ for(i=0; i<arguments.length;i ){ document.getElementById("log").innerHTML = arguments[i]; } document.getElementById("log").innerHTML = "<br>"; } function text_2_binary(text){ return text.split('').map(function(char){ return char.charCodeAt(0).toString(2)}).join(' '); } function binary_2_hidden_text(binary){ return binary.split('').map(function (binary_num){ var num = parseInt(binary_num, 10); if (num === 1) { return '\u200b'; } else if(num===0) { return '\u200c'; } return '\u200d'; }).join('\ufeff') } var text = "jshaman是专业且强大的JS代码混淆加密工具"; var binary_text = text_2_binary(text); var hidden_text = binary_2_hidden_text(binary_text); console.log("原始字符串:",text); console.log("二进制:",binary_text); console.log("<h2>隐藏字符:</h2>",hidden_text,"隐藏字符长度:",hidden_text.length); function hidden_text_2_binary(string){ return string.split('\ufeff').map(function(char){ if (char === '\u200b') { return '1'; } else if(char === '\u200c') { return '0'; } return ' '; }).join('') } function binary_2_Text(binaryStr){ var text = "" binaryStr.split(' ').map(function(num){ text = String.fromCharCode(parseInt(num, 2)); }).join(''); return text.toString(); } console.log("隐形字符转二进制:",hidden_text_2_binary(hidden_text)); console.log("二进制转原始字符:",binary_2_Text(hidden_text_2_binary(hidden_text))); </textarea> <br> <button onclick="eval(document.getElementById('code').value);">执行JS代码</button> <br> <div id="log"></div> </html>

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页