主頁 > 知識庫 > 關于加密解密 Base64 and URL and Hex Encoding and Decoding

關于加密解密 Base64 and URL and Hex Encoding and Decoding

熱門標簽:什么行業(yè)需要電話機器人 天津企業(yè)外呼系統(tǒng)代理商 外呼系統(tǒng)號碼顯示 中山外呼系統(tǒng)中間件 南昌crm外呼系統(tǒng)如何 地圖標注多家店 無錫電銷外呼系統(tǒng)代理 廣州ai外呼系統(tǒng)業(yè)務 車載電話機器人
今天想換一下Discuz論壇的風格,誰知下載風格文件后,發(fā)現(xiàn)竟然是通過Base64加密過的  
小林給推薦了個解密的頁面,提取出代碼如下:
復制代碼 代碼如下:

!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
html> 
head> 
title>Base64 and URL and Hex Encoding and Decoding/title> 
meta name="description" content="Encodes or decodes data in Base64 or URL encoding using client side JavaScript" /> 
meta name="keywords" content="base64, base 64, urlencode, urldecode, hexencode, hex encode, hexdecode hex decode, javascript base64, javascript base 64, javascript urlencode, javascript urldecode, javascript hexencode, javascript hexdecode" /> 
link rel="shortcut icon"  /> 
script language=javascript type="text/javascript"> 
!-- 
function urlDecode(str){ 
 str=str.replace(new RegExp('\\+','g'),' '); 
 return unescape(str); 

function urlEncode(str){ 
 str=escape(str); 
 str=str.replace(new RegExp('\\+','g'),'%2B'); 
 return str.replace(new RegExp('%20','g'),'+'); 

var END_OF_INPUT = -1; 
var base64Chars = new Array( 
 'A','B','C','D','E','F','G','H', 
 'I','J','K','L','M','N','O','P', 
 'Q','R','S','T','U','V','W','X', 
 'Y','Z','a','b','c','d','e','f', 
 'g','h','i','j','k','l','m','n', 
 'o','p','q','r','s','t','u','v', 
 'w','x','y','z','0','1','2','3', 
 '4','5','6','7','8','9','+','/' 
); 
var reverseBase64Chars = new Array(); 
for (var i=0; i  base64Chars.length; i++){ 
 reverseBase64Chars[base64Chars[i]] = i; 

var base64Str; 
var base64Count; 
function setBase64Str(str){ 
 base64Str = str; 
 base64Count = 0; 

function readBase64(){  
 if (!base64Str) return END_OF_INPUT; 
 if (base64Count >= base64Str.length) return END_OF_INPUT; 
 var c = base64Str.charCodeAt(base64Count)  0xff; 
 base64Count++; 
 return c; 

function encodeBase64(str){ 
 setBase64Str(str); 
 var result = ''; 
 var inBuffer = new Array(3); 
 var lineCount = 0; 
 var done = false; 
 while (!done  (inBuffer[0] = readBase64()) != END_OF_INPUT){ 
 inBuffer[1] = readBase64(); 
 inBuffer[2] = readBase64(); 
 result += (base64Chars[ inBuffer[0] >> 2 ]); 
 if (inBuffer[1] != END_OF_INPUT){ 
 result += (base64Chars [(( inBuffer[0]  4 )  0x30) | (inBuffer[1] >> 4) ]); 
 if (inBuffer[2] != END_OF_INPUT){ 
 result += (base64Chars [((inBuffer[1]  2)  0x3c) | (inBuffer[2] >> 6) ]); 
 result += (base64Chars [inBuffer[2]  0x3F]); 
 } else { 
 result += (base64Chars [((inBuffer[1]  2)  0x3c)]); 
 result += ('='); 
 done = true; 
 } 
 } else { 
 result += (base64Chars [(( inBuffer[0]  4 )  0x30)]); 
 result += ('='); 
 result += ('='); 
 done = true; 
 } 
 lineCount += 4; 
 if (lineCount >= 76){ 
 result += ('\n'); 
 lineCount = 0; 
 } 
 } 
 return result; 

function readReverseBase64(){  
 if (!base64Str) return END_OF_INPUT; 
 while (true){  
 if (base64Count >= base64Str.length) return END_OF_INPUT; 
 var nextCharacter = base64Str.charAt(base64Count); 
 base64Count++; 
 if (reverseBase64Chars[nextCharacter]){ 
 return reverseBase64Chars[nextCharacter]; 
 } 
 if (nextCharacter == 'A') return 0; 
 } 
 return END_OF_INPUT; 

function ntos(n){ 
 n=n.toString(16); 
 if (n.length == 1) n="0"+n; 
 n="%"+n; 
 return unescape(n); 

function decodeBase64(str){ 
 setBase64Str(str); 
 var result = ""; 
 var inBuffer = new Array(4); 
 var done = false; 
 while (!done  (inBuffer[0] = readReverseBase64()) != END_OF_INPUT 
  (inBuffer[1] = readReverseBase64()) != END_OF_INPUT){ 
 inBuffer[2] = readReverseBase64(); 
 inBuffer[3] = readReverseBase64(); 
 result += ntos((((inBuffer[0]  2)  0xff)| inBuffer[1] >> 4)); 
 if (inBuffer[2] != END_OF_INPUT){ 
 result += ntos((((inBuffer[1]  4)  0xff)| inBuffer[2] >> 2)); 
 if (inBuffer[3] != END_OF_INPUT){ 
 result += ntos((((inBuffer[2]  6)  0xff) | inBuffer[3])); 
 } else { 
 done = true; 
 } 
 } else { 
 done = true; 
 } 
 } 
 return result; 

var digitArray = new Array('0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f'); 
function toHex(n){ 
 var result = '' 
 var start = true; 
 for (var i=32; i>0;){ 
 i-=4; 
 var digit = (n>>i)  0xf; 
 if (!start || digit != 0){ 
 start = false; 
 result += digitArray[digit]; 
 } 
 } 
 return (result==''?'0':result); 

function pad(str, len, pad){ 
 var result = str; 
 for (var i=str.length; ilen; i++){ 
 result = pad + result; 
 } 
 return result; 

function encodeHex(str){ 
 var result = ""; 
 for (var i=0; istr.length; i++){ 
 result += pad(toHex(str.charCodeAt(i)0xff),2,'0'); 
 } 
 return result; 

function decodeHex(str){ 
 str = str.replace(new RegExp("s/[^0-9a-zA-Z]//g")); 
 var result = ""; 
 var nextchar = ""; 
 for (var i=0; istr.length; i++){ 
 nextchar += str.charAt(i); 
 if (nextchar.length == 2){ 
 result += ntos(eval('0x'+nextchar)); 
 nextchar = ""; 
 } 
 } 
 return result; 

//-->/script> 
/head> 
body> 
form name=code onsubmit="return false()"> 
textarea name=text style='width:100%;height:75%;' onfocus='if (this.value=="Enter text to encode or decode here."){this.value="";}'>Enter text to encode or decode here./textarea> 
table> 
tr>td align=center> 
input value="Encode" type=button onclick="document.code.text.value=urlEncode(document.code.text.value);"> 
/td>td align=center> 
URL 
/td>td align=center> 
input value="Decode" type=button onclick="document.code.text.value=urlDecode(document.code.text.value);"> 
/td>/tr> 
tr>td align=center> 
input value="Encode" type=button onclick="document.code.text.value=encodeBase64(document.code.text.value);"> 
/td>td align=center> 
Base 64 
/td>td align=center> 
input value="Decode" type=button onclick="document.code.text.value=decodeBase64(document.code.text.value);"> 
/td>/tr> 
tr>td align=center> 
input value="Encode" type=button onclick="document.code.text.value=encodeHex(document.code.text.value);"> 
/td>td align=center> 
Hex 
/td>td align=center> 
input value="Decode" type=button onclick="document.code.text.value=decodeHex(document.code.text.value);"> 
/td>/tr> 
tr>td align=center> 
/td>td align=center> 
input type=reset value=Clear> 
/td>td align=center> 
/td>/tr> 
/table> 
/form> 
hr> 
Base64 encode/decode was ported from a a >Java Base64 encoder/decoder/a>.br> 
Base64 encode/decode was ported to a >Macromedia Actionscript/a>.br> 
h3>License/h3> 
p>This program is free software; you can redistribute it and/or modify it 
under the terms of the GNU General Public License as published by the Free 
Software Foundation; either version 2 of the License, or (at your option) 
any later version./p> 
p>This program is distributed in the hope that it will be useful, 
but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 
or FITNESS FOR A PARTICULAR PURPOSE. See the 
a >GNU 
General Public License/a> for more details./p> 
div style="padding:0.2cm;">a >More converters, calculators, and other JavaScript goodies/a>/div> 
div style="padding:0.2cm;text-align:right;">a >site index/a>)/div> 
div style="padding:0.2cm;">p>Copyright a  class=mail>Stephen Ostermiller/a> 2003-2006/p>/div> 
/body> 
/html> 
您可能感興趣的文章:
  • 關于base64加密/解密
  • vbs版的解密base64加密的腳本
  • Js base64 加密解密介紹
  • python字符串加密解密的三種方法分享(base64 win32com)
  • php使用base64加密解密圖片示例分享
  • java常用工具類之DES和Base64加密解密類
  • php中base64_decode與base64_encode加密解密函數(shù)實例
  • C#實現(xiàn)基于Base64的加密解密類實例
  • C#編寫的Base64加密和解密類

標簽:攀枝花 呂梁 欽州 泰州 滄州 佛山 仙桃 海西

巨人網(wǎng)絡通訊聲明:本文標題《關于加密解密 Base64 and URL and Hex Encoding and Decoding》,本文關鍵詞  關于,加密解密,Base64,and,;如發(fā)現(xiàn)本文內(nèi)容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《關于加密解密 Base64 and URL and Hex Encoding and Decoding》相關的同類信息!
  • 本頁收集關于關于加密解密 Base64 and URL and Hex Encoding and Decoding的相關信息資訊供網(wǎng)民參考!
  • 推薦文章