亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 邏輯算法 > 正文

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

2019-09-10 09:01:53
字體:
來源:轉載
供稿:網友
今天想換一下Discuz論壇的風格,誰知下載風格文件后,發現竟然是通過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; i<len; i++){ 
 result = pad + result; 
 } 
 return result; 

function encodeHex(str){ 
 var result = ""; 
 for (var i=0; i<str.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; i<str.length; i++){ 
 nextchar += str.charAt(i); 
 if (nextchar.length == 2){ 
 result += ntos(eval('0x'+nextchar)); 
 nextchar = ""; 
 } 
 } 
 return result; 

//--></script> 
</head> 
<body> 
<form name=code > 
<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 > 
</td><td align=center> 
URL 
</td><td align=center> 
<input value="Decode" type=button > 
</td></tr> 
<tr><td align=center> 
<input value="Encode" type=button > 
</td><td align=center> 
Base 64 
</td><td align=center> 
<input value="Decode" type=button > 
</td></tr> 
<tr><td align=center> 
<input value="Encode" type=button > 
</td><td align=center> 
Hex 
</td><td align=center> 
<input value="Decode" type=button > 
</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> 
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
精品香蕉在线观看视频一| 国产97在线观看| 黑人巨大精品欧美一区二区| 欧美最顶级的aⅴ艳星| 国产免费一区二区三区在线观看| 精品视频一区在线视频| 国内揄拍国内精品| 国产小视频国产精品| 伊人伊成久久人综合网小说| 欧美日韩电影在线观看| 国产精品毛片a∨一区二区三区|国| 欧美极品在线视频| 国产日本欧美一区二区三区在线| 国产啪精品视频| 97久久精品在线| 国产精品久久久久999| 日韩欧美中文第一页| 亚洲最新在线视频| 亚洲欧美国产高清va在线播| 久久97久久97精品免视看| 色综合色综合网色综合| 国产成人+综合亚洲+天堂| 欧美大片欧美激情性色a∨久久| 亚洲综合大片69999| 欧美性资源免费| 岛国视频午夜一区免费在线观看| 亚洲性无码av在线| 欧美激情欧美狂野欧美精品| 中文字幕精品—区二区| 韩国三级日本三级少妇99| 色婷婷久久一区二区| 久久精品成人欧美大片古装| 欧美激情小视频| 国外色69视频在线观看| 2025国产精品视频| 久久久久日韩精品久久久男男| 91精品久久久久久久久久久久久久| 在线观看欧美日韩| 亚洲性69xxxbbb| 国产精品香蕉在线观看| 亚洲第一中文字幕| 日韩在线播放av| 亚洲综合色av| 精品一区二区三区三区| 久久久精品一区二区| 久久久精品视频成人| 日韩免费黄色av| 高清欧美一区二区三区| 性欧美亚洲xxxx乳在线观看| 日韩在线中文视频| 成人乱色短篇合集| 亚洲人成网站777色婷婷| 在线观看国产欧美| 91大神福利视频在线| 欧美国产在线电影| 亚洲www视频| 国产精选久久久久久| 亚洲乱码国产乱码精品精天堂| 另类美女黄大片| 4438全国亚洲精品在线观看视频| 国产精品福利小视频| 国产一级揄自揄精品视频| 成人做爰www免费看视频网站| 国产精品综合久久久| 91欧美精品午夜性色福利在线| 国产精品视频网址| 亚洲欧美制服中文字幕| 国产成人亚洲综合| 国产精品久久久| 日韩专区中文字幕| 日韩影视在线观看| 一区二区欧美日韩视频| 亚洲女人被黑人巨大进入al| 成人黄色免费网站在线观看| 91精品久久久久久久久青青| 欧美中文字幕在线| 日本国产高清不卡| 国产亚洲精品久久久久久牛牛| 国外成人在线播放| 欧美日韩免费观看中文| 欧美成人免费全部观看天天性色| 最新国产成人av网站网址麻豆| 日韩暖暖在线视频| 亚洲一级黄色av| 日韩av网址在线| 欧美中文字幕视频| 成人久久精品视频| 91精品国产91久久| 欧美成人精品xxx| 日韩在线视频免费观看| 欧美日韩一区二区三区在线免费观看| 亚洲精品按摩视频| 免费99精品国产自在在线| 日韩高清电影免费观看完整| 伊人久久精品视频| 懂色aⅴ精品一区二区三区蜜月| 69久久夜色精品国产69| 97人人爽人人喊人人模波多| 久久久成人精品视频| 亚洲国产精品中文| 久久av红桃一区二区小说| 欧美第一页在线| 久久久亚洲影院| 成人高清视频观看www| 欧美限制级电影在线观看| 中文字幕欧美亚洲| 欧美天天综合色影久久精品| 亚洲国产精品久久久久秋霞不卡| 97视频网站入口| 日韩激情第一页| 欧美电影在线观看完整版| 日韩一区二区av| 久久久精品国产亚洲| 国产精品视频久久久久| 亚洲精品一区在线观看香蕉| 国产精品日韩电影| 亚洲视频999| 成人精品在线观看| 久久免费国产精品1| 亚洲日韩中文字幕| 国产精品18久久久久久麻辣| 日韩国产欧美精品在线| 97视频在线免费观看| 亚洲国产另类 国产精品国产免费| 久久久精品久久久久| 国产精品高清免费在线观看| 欧美专区中文字幕| 精品久久久久久国产| 91嫩草在线视频| 亚洲日本aⅴ片在线观看香蕉| 亚洲精品短视频| 亚洲精选在线观看| 国外成人在线播放| 日韩欧美在线视频观看| 精品一区二区三区四区| 亚洲女人天堂色在线7777| 欧美日韩国产影院| 色偷偷av一区二区三区乱| 永久555www成人免费| 青青草原一区二区| 久久精品99无色码中文字幕| 日韩电影在线观看永久视频免费网站| 国产一区二区三区直播精品电影| 欧美成人黑人xx视频免费观看| 欧美日韩在线视频观看| 国产三级精品网站| 色综合视频一区中文字幕| 亚洲一区二区黄| 成人字幕网zmw| 日本韩国欧美精品大片卡二| 日韩av电影在线免费播放| 青草热久免费精品视频| 亚洲专区中文字幕| 国产成人极品视频| 国产成人精品免费久久久久| 人九九综合九九宗合| 黄网动漫久久久| 日本精品一区二区三区在线| 欧美激情在线播放| 最近中文字幕mv在线一区二区三区四区| 欧美裸体视频网站| 成人激情电影一区二区| 精品国内自产拍在线观看| 中文字幕欧美日韩|