Este artigo descreve a criptografia e descriptografia base64 implementadas por JS. Compartilhe -o para sua referência, como segue:
Código completo:
<html> <head> <title> base64 </itit> <idioma script = javascript> var base64encodars = "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrststwxyz012345789+/var64; -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, 63, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -1, -1, -1, -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, -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, -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, 62, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 62, -1, -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, -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, -1); 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 += base64encodars.charat ((c1 e 0x3) << 4); out += "=="; quebrar; } c2 = str.charcodeat (i ++); if (i == len) {out += base64encodechars.charat (c1 >> 2); out += base64encodars.charat ((c1 e 0x3) << 4) | ((C2 e 0xf0) >> 4)); out += base64encodars.charat ((c2 e 0xf) << 2); out += "="; quebrar; } c3 = str.charcodeat (i ++); out += base64encodars.charat (c1 >> 2); out += base64encodars.charat ((c1 e 0x3) << 4) | ((C2 e 0xf0) >> 4)); out += base64encodars.charat (((c2 & 0xf) << 2) | ((c3 & 0xc0) >> 6)); out += base64Encodechars.Charat (C3 e 0x3f); } retornar;} função 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 ++) e 0xff]; } while (i <len && c1 == -1); if (c1 == -1) quebra; / * c2 */ do {c2 = base64DecodeChars [str.charcodeat (i ++) e 0xff]; } while (i <len && c2 == -1); if (c2 == -1) quebra; out += string.fromCharcode ((c1 << 2) | ((c2 & 0x30) >> 4)); / * c3 */ do {c3 = str.charcodeat (i ++) & 0xff; if (c3 == 61) retornar; C3 = base64Decodechars [C3]; } while (i <len && c3 == -1); if (c3 == -1) quebra; out += string.fromCharcode (((c2 & 0xf) << 4) | ((c3 & 0x3c) >> 2)); / * c4 */ do {c4 = str.charcodeat (i ++) & 0xff; if (c4 == 61) retornar; C4 = base64Decodechars [C4]; } while (i <len && c4 == -1); if (c4 == -1) quebra; out += string.FromCharCode (((C3 & 0x03) << 6) | C4); } retornar;} função 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) e 0x0f)); out += string.FromCharCode (0x80 | ((c >> 6) e 0x3f)); out += string.FromCharCode (0x80 | ((c >> 0) e 0x3f)); } else {out += string.fromCharcode (0xc0 | ((c >> 6) e 0x1f)); out += string.FromCharCode (0x80 | ((c >> 0) e 0x3f)); }} retornar;} função 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) {Caso 0: Caso 1: Caso 2: Caso 3: Caso 4: Caso 5: Caso 6: Caso 7: // 0xxxxx out += str.Charat (i-1); quebrar; Caso 12: Caso 13: // 110x xxxx 10xx xxxx char2 = str.charcodeat (i ++); out += string.fromCharcode (((c & 0x1f) << 6) | (char2 & 0x3f)); quebrar; Caso 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 e 0x3f) << 0)); quebrar; }} retornar;} função doit () {var f = document.f f.output.Value = base64Encode (utf16to8 (f.source.value)) f.decode.value = utf8to16 (BASE64Decode (F.Output.Vutue)} </script> </script> Name = "f"> Código original <br> <textarea name = "origem" linhas = 4 cols = 60 wrap = "soft"> </textarea> <br> <br> base64 Encode <br> <textário name = "output" rupias = 4 cols = 60 wrap = "soft"> </textarea> <br> <br> Base64 WRAP = "SOFT"> </sexttarea> <br> <br> <Tipo de entrada = Button value = "convert" onclick = "doit ()"> </morm> </body>Para criptografia e descriptografia BASE64, você também pode consultar as ferramentas on -line deste site :
Ferramenta de codificação e decodificação base64
Para mais conteúdo criptografado e descriptografado, consulte:
Ferramenta de criptografia online do MD5
Ferramenta de criptografia hexadecimal de URL
Tonder, Express, Tornado URL Criptografia/Decripção Ferramentas
Ferramenta de criptografia sha1 online
Para obter mais informações sobre JavaScript, consulte os tópicos deste site: "Resumo da criptografia JavaScript e habilidades de descriptografia", "Resumo dos efeitos e habilidades especiais de troca de JavaScript", "Resumo de Javascript Sumts, Sestrict Errringscript Skills", Summars e Javscript Effects and Skills "," Summary Of Javcript Skills " Habilidades de algoritmo "," Resumo do algoritmo e habilidades de travessia de JavaScript "e" Resumo do Uso da Operação Matemática JavaScript "
Espero que este artigo seja útil para a programação JavaScript de todos.