Chương trình JavaScript để mã hóa một chuỗi thành Base64

Trong ví dụ này, bạn sẽ học cách viết một chương trình JavaScript sẽ mã hóa một chuỗi thành Base64.

Để hiểu ví dụ này, bạn nên có kiến ​​thức về các chủ đề lập trình JavaScript sau:

  • Chuỗi JavaScript

Base64 là một nhóm các lược đồ mã hóa nhị phân thành văn bản đại diện cho dữ liệu nhị phân ở định dạng chuỗi ASCII bằng cách dịch nó thành biểu diễn cơ số 64.

Ví dụ 1: Mã hóa một chuỗi thành Base64 bằng btoa ()

 // program to encode a string to Base64 // defining the string const str = "Learning JavaScript"; // encoding the string const result = window.btoa(str); console.log(result); // decoding the string const result1 = window.atob(result); console.log(result1);

Đầu ra

 TGVhcm5pbmcgSmF2YVNjcmlwdA == Học JavaScript

Trong ví dụ trên, btoa()phương thức được sử dụng để chuyển đổi chuỗi thành Base64 .

Các atob()phương pháp được sử dụng để chuyển đổi các Base64 thành một chuỗi.

Ví dụ 2: Mã hóa chuỗi thành Base64 bằng đối tượng Base64

 // program to encode a string to Base64 // create Base64 Object const Base64 = ( // private property _keyStr : "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=", // public method for encoding encode : function (input) ( let output = ""; let chr1, chr2, chr3, enc1, enc2, enc3, enc4; let i = 0; input = Base64._utf8_encode(input); while (i > 2; enc2 = ((chr1 & 3) <> 4); enc3 = ((chr2 & 15) <> 6); enc4 = chr3 & 63; if (isNaN(chr2)) ( enc3 = enc4 = 64; ) else if (isNaN(chr3)) ( enc4 = 64; ) output = output + Base64._keyStr.charAt(enc1) + Base64._keyStr.charAt(enc2) + Base64._keyStr.charAt(enc3) + Base64._keyStr.charAt(enc4); ) return output; ), // public method for decoding decode : function (input) ( let output = ""; let chr1, chr2, chr3; let enc1, enc2, enc3, enc4; let i = 0; input = input.replace(/(^A-Za-z0-9+/=)/g, ""); while (i < input.length) ( enc1 = Base64._keyStr.indexOf(input.charAt(i++)); enc2 = Base64._keyStr.indexOf(input.charAt(i++)); enc3 = Base64._keyStr.indexOf(input.charAt(i++)); enc4 = Base64._keyStr.indexOf(input.charAt(i++)); chr1 = (enc1 <> 4); chr2 = ((enc2 & 15) <> 2); chr3 = ((enc3 & 3) << 6) | enc4; output = output + String.fromCharCode(chr1); if (enc3 != 64) ( output = output + String.fromCharCode(chr2); ) if (enc4 != 64) ( output = output + String.fromCharCode(chr3); ) ) output = Base64._utf8_decode(output); return output; ), // private method for UTF-8 encoding _utf8_encode : function (string) ( string = string.replace(//g,""); let utftext = ""; for (let n = 0; n < string.length; n++) ( let c = string.charCodeAt(n); if (c 127) && (c > 6) | 192); utftext += String.fromCharCode((c & 63) | 128); ) else ( utftext += String.fromCharCode((c>> 12) | 224); utftext += String.fromCharCode(((c>> 6) & 63) | 128); utftext += String.fromCharCode((c & 63) | 128); ) ) return utftext; ), // private method for UTF-8 decoding _utf8_decode : function (utftext) ( let string = ""; let i = 0; let c = c1 = c2 = 0; while ( i < utftext.length ) ( c = utftext.charCodeAt(i); if (c 191) && (c < 224)) ( c2 = utftext.charCodeAt(i+1); string += String.fromCharCode(((c & 31) << 6) | (c2 & 63)); i += 2; ) else ( c2 = utftext.charCodeAt(i+1); c3 = utftext.charCodeAt(i+2); string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63)); i += 3; ) ) return string; ) ) // define the string const string = 'Learning JavaScript'; // encode the String const encodedString = Base64.encode(string); console.log(encodedString); // decode the String const decodedString = Base64.decode(encodedString); console.log(decodedString);

Đầu ra

 TGVhcm5pbmcgSmF2YVNjcmlwdA == Học JavaScript. 

Các encode()phương pháp mã hóa một chuỗi Base64. Các decode()phương pháp giải mã Base64 thành một chuỗi.

thú vị bài viết...