快應用js代碼解碼(js 解碼)

本文目錄一覽:

js在線解密 javascript解密

這個只是一個漢字的unicode編碼.

告訴樓主一個簡單的方法.把上面的代碼放入UltraEdit中,把”\”替換為”%”,然後去 解碼,複製代碼.解密.

最後附上我解密後的代碼

var owner = “2278749”;var sf_mess_cfg = {theme:”classic”,color:”blue”,title:”歡迎給我們留言”,send:”發送”,copyright:”百度提供技術支持”,mbpos:”RD”};var sf_mess_msg = {emailErr: ‘請填寫正確的Email’,messErr: ‘您的留言字數已超過限制,請保留在1000個字以內。’,prefix: ‘請填寫’,success: ‘我們已經收到您的留言,稍候會與您聯繫.謝謝!’,fail: ‘您的留言發送失敗,請重試。’};var sf_mess_cols = [{type:”textarea”,mbtype: “message”,tip: “留言內容”,innertip: “請在此留言,我們會及時聯繫您”,idname: “content”},{type:”text”,mbtype: “tel”,tip: “手機號碼”,innertip: “請輸入您的手機號碼”,idname: “phone”}];document.write(‘script src=”” type=”text/javascript”/script’);

JS代碼怎麼解碼??簡單

SCRIPTfunction stop(){return false;}document.oncontextmenu=stop;/SCRIPTscript language=”JavaScript”!–function SymError(){ return true;}window.onerror = SymError;//–/scriptscript language=”Javascript”function PassConfirm() {var x=document.password.pass.valueif (x==”tyyxt”) {window.open(“gothree.php”,”_self”) }else {window.open(“error.php”,”_self”) }}/SCRIPTcentertable cellSpacing=”0″ cellPadding=”4″ border=”1″ width=”389″ height=”1″ tr td bgColor=”#336600″ width=”378″ height=”18″ p align=”center”font size=”3″ color=”#FFFF00″黑客遊戲第二關/font/p /td /tr tr td bgColor=”#990000″ width=”378″ height=”1″ p align=”center”font color=”#FFFF00″form name=”password” method=”post”p align=”center”要求:進入第三關!/pp align=”center”請輸入密碼:/pp align=”center”input type=”password” name=”pass” size=”20″/pp align=”center”input type=”button” value=”確定” onClick=”return PassConfirm()”/p/FORM/font /td /tr /table/center

怎麼解決js解碼base64中文亂碼問題

最近在做一個插件開發,我用c++在插件裡面把帶中文的字符串用base64算法加密後推給網頁的js去解碼,解出來的相信大家預料到了,洋文一字不差,中文就TMD的都是亂碼。

google了一下,也沒找到能解決問題的方法,沒辦法只好自己研究了。後來發現問題原因了,編碼過程肯定是沒有問題的,看到前面加顏色那段字了沒,就是我解出來的編碼雖然是utf8,但是將中文文字進行Base64編碼再解碼後,重新排列編碼的時候,往往就會出現亂碼,UTF8頁面的編碼實際還是用UTF-16存儲的。應該在解碼後把UTF8還原為UTF-16格式。這樣就能真正搞定javascript解密中文base64編碼的問題了。

這裡我就把js解碼代碼貼出來,給廣大同胞:

/**

* Waitang.com

*/

var base64EncodeChars = “ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/”;

var base64DecodeChars = new Array(

-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,

-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,

-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 62, -1, -1, -1, 63,

52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -1, -1, -1, -1, -1, -1,

-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,

15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -1, -1, -1, -1, -1,

-1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,

41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1);

//base64編碼

function base64encode(str) {

var out, i, len;

var c1, c2, c3;

len = str.length;

i = 0;

out = “”;

while(i len) {

c1 = str.charCodeAt(i++) 0xff;

if(i == len)

{

out += base64EncodeChars.charAt(c1 2);

out += base64EncodeChars.charAt((c1 0x3) 4);

out += “==”;

break;

}

c2 = str.charCodeAt(i++);

if(i == len)

{

out += base64EncodeChars.charAt(c1 2);

out += base64EncodeChars.charAt(((c1 0x3) 4) | ((c2 0xF0) 4));

out += base64EncodeChars.charAt((c2 0xF) 2);

out += “=”;

break;

}

c3 = str.charCodeAt(i++);

out += base64EncodeChars.charAt(c1 2);

out += base64EncodeChars.charAt(((c1 0x3) 4) | ((c2 0xF0) 4));

out += base64EncodeChars.charAt(((c2 0xF) 2) | ((c3 0xC0) 6));

out += base64EncodeChars.charAt(c3 0x3F);

}

return out;

}

//base64解碼

function base64decode(str) {

var c1, c2, c3, c4;

var i, len, out;

len = str.length;

i = 0;

out = “”;

while(i len) {

/* c1 */

do {

c1 = base64DecodeChars[str.charCodeAt(i++) 0xff];

} while(i len c1 == -1);

if(c1 == -1)

break;

/* c2 */

do {

c2 = base64DecodeChars[str.charCodeAt(i++) 0xff];

} while(i len c2 == -1);

if(c2 == -1)

break;

out += String.fromCharCode((c1 2) | ((c2 0x30) 4));

/* c3 */

do {

c3 = str.charCodeAt(i++) 0xff;

if(c3 == 61)

return out;

c3 = base64DecodeChars[c3];

} while(i len c3 == -1);

if(c3 == -1)

break;

out += String.fromCharCode(((c2 0XF) 4) | ((c3 0x3C) 2));

/* c4 */

do {

c4 = str.charCodeAt(i++) 0xff;

if(c4 == 61)

return out;

c4 = base64DecodeChars[c4];

} while(i len c4 == -1);

if(c4 == -1)

break;

out += String.fromCharCode(((c3 0x03) 6) | c4);

}

return out;

}

這是轉換utf8到utf16的代碼:

/**

* Yovae.com

*/

//utf-8轉utf16

function utf16to8(str) {

var out, i, len, c;

out = “”;

len = str.length;

for(i = 0; i len; i++) {

c = str.charCodeAt(i);

if ((c = 0x0001) (c = 0x007F)) {

out += str.charAt(i);

} else if (c 0x07FF) {

out += String.fromCharCode(0xE0 | ((c 12) 0x0F));

out += String.fromCharCode(0x80 | ((c 6) 0x3F));

out += String.fromCharCode(0x80 | ((c 0) 0x3F));

} else {

out += String.fromCharCode(0xC0 | ((c 6) 0x1F));

out += String.fromCharCode(0x80 | ((c 0) 0x3F));

}

}

return out;

}

//utf-16轉utf-8

function utf8to16(str) {

var out, i, len, c;

var char2, char3;

out = “”;

len = str.length;

i = 0;

while(i len) {

c = str.charCodeAt(i++);

switch(c 4)

{

case 0: case 1: case 2: case 3: case 4: case 5: case 6: case 7:

// 0xxxxxxx

out += str.charAt(i-1);

break;

case 12: case 13:

// 110x xxxx 10xx xxxx

char2 = str.charCodeAt(i++);

out += String.fromCharCode(((c 0x1F) 6) | (char2 0x3F));

break;

case 14:

// 1110 xxxx 10xx xxxx 10xx xxxx

char2 = str.charCodeAt(i++);

char3 = str.charCodeAt(i++);

out += String.fromCharCode(((c 0x0F) 12) |

((char2 0x3F) 6) |

((char3 0x3F) 0));

break;

}

}

return out;

}

這是c++ base64編碼代碼:

/**

* Yovae.com

*/

CString encode(const CString in_str)

{

const CString _base64_encode_chars = “ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/”;

CString out_str;

unsigned char c1, c2, c3;

int i = 0;

int len = in_str.GetLength();

while ( i {

c1 = in_str[i++];

if ( i==len )

{

out_str += _base64_encode_chars[ c12 ];

out_str += _base64_encode_chars[ (c10x3)4 ];

out_str += “==”;

break;

}

c2 = in_str[i++];

if ( i==len )

{

out_str += _base64_encode_chars[ c12 ];

out_str += _base64_encode_chars[ ((c10x3)4) | ((c20xF0)4) ];

out_str += _base64_encode_chars[ (c20xF)2 ];

out_str += “=”;

break;

}

c3 = in_str[i++];

out_str += _base64_encode_chars[ c12 ];

out_str += _base64_encode_chars[ ((c10x3)4) | ((c20xF0)4) ];

out_str += _base64_encode_chars[ ((c20xF)2) | ((c30xC0)6) ];

out_str += _base64_encode_chars[ c30x3F ];

}

return out_str;

}

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/312813.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2025-01-06 15:17
下一篇 2025-01-06 15:17

相關推薦

  • Python周杰倫代碼用法介紹

    本文將從多個方面對Python周杰倫代碼進行詳細的闡述。 一、代碼介紹 from urllib.request import urlopen from bs4 import Bea…

    編程 2025-04-29
  • JS Proxy(array)用法介紹

    JS Proxy(array)可以說是ES6中非常重要的一個特性,它可以代理一個數組,監聽數據變化並進行攔截、處理。在實際開發中,使用Proxy(array)可以方便地實現數據的監…

    編程 2025-04-29
  • Python字符串寬度不限制怎麼打代碼

    本文將為大家詳細介紹Python字符串寬度不限制時如何打代碼的幾個方面。 一、保持代碼風格的統一 在Python字符串寬度不限制的情況下,我們可以寫出很長很長的一行代碼。但是,為了…

    編程 2025-04-29
  • Python基礎代碼用法介紹

    本文將從多個方面對Python基礎代碼進行解析和詳細闡述,力求讓讀者深刻理解Python基礎代碼。通過本文的學習,相信大家對Python的學習和應用會更加輕鬆和高效。 一、變量和數…

    編程 2025-04-29
  • Python滿天星代碼:讓編程變得更加簡單

    本文將從多個方面詳細闡述Python滿天星代碼,為大家介紹它的優點以及如何在編程中使用。無論是剛剛接觸編程還是資深程序員,都能從中獲得一定的收穫。 一、簡介 Python滿天星代碼…

    編程 2025-04-29
  • 倉庫管理系統代碼設計Python

    這篇文章將詳細探討如何設計一個基於Python的倉庫管理系統。 一、基本需求 在着手設計之前,我們首先需要確定倉庫管理系統的基本需求。 我們可以將需求分為以下幾個方面: 1、庫存管…

    編程 2025-04-29
  • 寫代碼新手教程

    本文將從語言選擇、學習方法、編碼規範以及常見問題解答等多個方面,為編程新手提供實用、簡明的教程。 一、語言選擇 作為編程新手,選擇一門編程語言是很關鍵的一步。以下是幾個有代表性的編…

    編程 2025-04-29
  • Python實現簡易心形代碼

    在這個文章中,我們將會介紹如何用Python語言編寫一個非常簡單的代碼來生成一個心形圖案。我們將會從安裝Python開始介紹,逐步深入了解如何實現這一任務。 一、安裝Python …

    編程 2025-04-29
  • 怎麼寫不影響Python運行的長段代碼

    在Python編程的過程中,我們不可避免地需要編寫一些長段代碼,包括函數、類、複雜的控制語句等等。在編寫這些代碼時,我們需要考慮代碼可讀性、易用性以及對Python運行性能的影響。…

    編程 2025-04-29
  • Python海龜代碼簡單畫圖

    本文將介紹如何使用Python的海龜庫進行簡單畫圖,並提供相關示例代碼。 一、基礎用法 使用Python的海龜庫,我們可以控制一個小海龜在窗口中移動,並利用它的“畫筆”在窗口中繪製…

    編程 2025-04-29

發表回復

登錄後才能評論