이 기사에서는 JS가 구현 한 Base64 암호화 및 암호 해독에 대해 설명합니다. 다음과 같이 참조에 대해 공유하십시오.
완전한 코드 :
<html> <head> <title> base64 </title> <script language = javaScript> var base64encodechars = "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz0123456789+/"; var base64decodechars = -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, -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, 57, 58, 59, 69 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15, 16, 17, 18, 19, 20, 22, 22, 24, 25, -1, -1, -1, -1, -1, -1, 1, 27 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); "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, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 62 53, 54, 55, 56, 57, 58, 59, 60, 61, 61, -1, -1, -1, -1, -1, -1, -1, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 16, 17, 18, 19, 20, 21, 23, 23, 24, 25, -1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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); 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 += base644odechars.charat (c1 >> 2); out += base64encodechars.charat ((C1 & 0x3) << 4); out += "=="; 부서지다; } c2 = str.charcodeat (i ++); if (i == len) {out += base644odechars.charat (c1 >> 2); out += base64encodechars.charat ((C1 & 0x3) << 4) | ((C2 & 0xf0) >> 4); out += base64encodechars.charat ((c2 & 0xf) << 2); out += "="; 부서지다; } 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;} 함수 Base64decode (str) {var c1, c2, c3, c4; var i, 렌, 아웃; 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) 파손; / * c2 */ do {c2 = base64decodechars [str.charcodeat (i ++) & 0xff]; } while (i <len && c2 == -1); if (c2 == -1) 파손; out += string.fromcharcode ((C1 << 2) | ((C2 & 0x30) >> 4); / * c3 */ do {c3 = str.charcodeat (i ++) & 0xff; (C3 == 61)이되면 돌아옵니다. C3 = Base64decodechars [C3]; } while (i <len && c3 == -1); if (c3 == -1) 파손; out += string.fromcharcode (((C2 & 0xf) << 4) | ((C3 & 0x3c) >> 2); / * c4 */ do {c4 = str.charcodeat (i ++) & 0xff; if (c4 == 61) 돌아 오십시오. C4 = Base64decodechars [C4]; } while (i <len && c4 == -1); if (c4 == -1) 파손; out += string.fromcharcode (((C3 & 0x03) << 6) | C4); } return out;} 함수 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;} 함수 utf8to16 (str) {var out, i, len, c; var char2, char3; out = ""; len = str.length; i = 0; while (i <len) {c = str.charcodeat (i ++); 스위치 (c >> 4) {사례 0 : 사례 1 : 사례 2 : 사례 3 : 사례 4 : 사례 5 : 사례 6 : // 0xxxxx out += str.charat (i-1); 부서지다; 사례 12 : 사례 13 : // 110x xxxx 10xx xxxx char2 = str.charcodeat (i ++); out += string.fromcharCode (((C & 0x1f) << 6) | (char2 & 0x3f); 부서지다; 사례 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); 부서지다; }} return out;} function doit () {var f = document.f f.output.value = base64encode (utf16to8 (f.source.value)) f.decode.value = utf8to16 (base64decode (f.output.value)} </head> <h1> bas64 </head> 이름 = "f"> 원본 코드 <br> <텍스트 인 이름 = "소스"행 = 4 cols = 60 wrap = "soft"> </textarea> <br> <br> base64 encode <br> <텍스트 area name = "output"rows = 4 cols = 60 랩 = "soft"> </textarea> <br> <br> base64 decode <br <brae ""rows " 랩 = "소프트"> </textarea> <br> <br> <입력 유형 = button value = "conver"onclick = "doit ()"> </form> </body>Base64 암호화 및 암호 해독의 경우이 사이트의 온라인 도구를 참조 할 수도 있습니다 .
Base64 인코딩 및 디코딩 도구
더 암호화 및 해독 된 콘텐츠는 다음을 참조하십시오.
MD5 온라인 암호화 도구
URL 16 진 암호화 도구
Thunder, Express, Tornado URL 암호화/암호 해독 도구
온라인 SHA1 암호화 도구
JavaScript에 대한 자세한 내용은이 사이트의 주제를 확인하십시오. "JavaScript 암호화 및 암호 해독 기술 요약", "JavaScript Switching 특수 효과 및 기술 요약", "JavaScript 검색 알고리즘 기술 요약", "Javascript 특수 효과 및 기술 요약", "Javascript Ordors 및 Debagging Skontor의 요약" 알고리즘 기술 ","JavaScript Traversal 알고리즘 및 기술 요약 "및"JavaScript 수학적 운영 사용 요약 "
이 기사가 모든 사람의 JavaScript 프로그래밍에 도움이되기를 바랍니다.