This article describes the JS implementation of the Base64 encryption and decryption. Share to everyone for your reference, specific as follows:
<HTML> <HEAD> <TITLE>Base64</TITLE> <script language=javascript> 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, 62,-1, 1, 1, 63, 52 4, 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, 1
7, 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,
41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,-1,-1,-1,-1,-1); <HTML> <HEAD> <TITLE>Base64</TITLE> <script language=javascript> 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, 62,-1,-1,-1, 63, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,-1,-1,-1,-1,-1, 1, 1, 0, 1 , 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
, 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;
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;
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 = =) 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 = =) return out;
C4 = base64decodechars[c4];
while (i < len && C4 = = 1);
if (C4 = = 1) break;
Out + = String.fromCharCode ((C3 & 0x03) << 6) | c4);
} return out;
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 >>) & 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;
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.cha
RAt (i-1);
Break
Case 12:case://110x xxxx 10xx xxxx char2 = str.charcodeat (i++); Out + + String.fromCharCode ((C & 0x1F) << 6) |
(Char2 & 0x3F));
Break
Case://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; function doit () {var f = document.f F.output.value = Base64Encode (Utf16to8 (f.source.value)) F.decode.value = UTF8 To16 (Base64decode (F.output.value))} </script> </HEAD> &Lt body> <H1>Base64</H1> <form name= "F" > Original code <BR> <textarea name= "source" rows=4 cols=60 "Soft" ></TEXTAREA><BR><BR> Base64 encode<br> <textarea name= "Output" rows=4 cols=60 wrap= "soft" ></TEXTAREA><BR><BR> Base64 decode<br> <textarea name= "decode" rows=4 cols= wrap= "soft" ></TEXTAREA><BR><BR> <input Type=button value= "Convert" onclick= "doit ()" > </
Form> </BODY>
More about JavaScript content to view the site topics: "JavaScript encryption and decryption skills summary", "JavaScript switching effects and techniques summary", "JavaScript Search Algorithm Skills Summary", "JavaScript animation effects and tips Summary , JavaScript error and debugging skills Summary, JavaScript data structure and algorithm skills summary, JavaScript traversal algorithm and skills summary, and "JavaScript Mathematical Computing Usage Summary"
I hope this article will help you with JavaScript programming.