有三種方式
1.第一種是使用jquery的base64.js,在https://github.com/beatgammit/base64-js 上下載base64.js
使用如下命令對數據進行base64的編碼與解碼:
加密使用:Base64.encode(con);
解密使用:Base64.decode(con);
案例如下:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <script src="javascripts/base64.js"></script> <script src="javascripts/jquery.min.js"></script> </head> <body> <input type="text" class="content"> <button onclick='submit()'>加密</button> <button onclick="showtext()">解密</button> <script> var encodeStr = ''; function submit() { let con = document.querySelector('.content').value; encodeStr= Base64.encode(con); console.log(encodeStr); $.ajax({ method: 'GET', url: '/test', data: { title:encodeStr }, success:function(res) { console.log(res) } }) } // 解密 function showtext() { var decodeStr = Base64.decode(encodeStr); console.log(decodeStr); } </script> </body> </html>
2.使用js自帶的轉為base64的方法:
js中內置的base64編碼和解碼。
var encodedData = window.btoa("Hello, world"); // 編碼 var decodedData = window.atob(encodedData); // 解碼
兼容性IE10以上和其他瀏覽器都支持,還是相對不錯的,要是移動端都支持。
借兩張 MDN的圖片,要是真遇到IE怎么辦,引入polyfill庫,引入第三方庫,或者直接不進行編碼。
3.node中自帶的base64編碼與解碼方法
node中自帶的base64的編碼與解碼分為三種:普通字符串/十六進制/圖片
(1)普通字符串
//編碼 new Buffer(String).toString('base64'); //解碼 new Buffer(base64Str, 'base64').toString();
(2)十六進制Hex
//編碼 new Buffer(String, 'base64').toString('hex'); //解碼 new Buffer(base64Str, 'hex').toString('utf8');
(3)圖片
const fs = require('fs'); //編碼 function base64_encode(file) { let bitmap = fs.readFileSync(file); return new Buffer(bitmap).toString('base64'); } //解碼 function base64_decode(base64str, file) { var bitmap = new Buffer(base64str, 'base64'); fs.writeFileSync(file, bitmap); }