Base64加密与解密
Base64是一种用64个字符来表示任意二进制数据的方法,常用于在URL、Cookie、网页中传输少量二进制数据。
Base64加密方法
Base64加密的过程是:将二进制数据转换为64个可打印字符,每三个字节转换为四个字符,如果字节数不是3的倍数,会用0补足。
Base64加密实现
Base64加密的实现方法有很多,下面介绍一种实现方法。
/*
* base64加密实现
* @param {String} data 要加密的数据
* @return {String} 加密后的base64字符串
*/
function base64Encode(data) {
// 将数据转换为二进制
let binaryData = new Buffer(data).toString('binary');
// 获取base64字符串
let base64Data = new Buffer(binaryData, 'binary').toString('base64');
return base64Data;
}
Base64解密方法
Base64解密的过程是:将64个可打印字符转换为二进制数据,每四个字符转换为三个字节,如果字符数不是4的倍数,会忽略掉多余的字符。
Base64解密实现
Base64解密的实现方法有很多,下面介绍一种实现方法。
/*
* base64解密实现
* @param {String} data 要解密的base64字符串
* @return {String} 解密后的数据
*/
function base64Decode(data) {
// 将base64字符串转换为二进制
let binaryData = new Buffer(data, 'base64').toString('binary');
// 获取数据
let decodeData = new Buffer(binaryData, 'binary').toString('utf8');
return decodeData;
}
使用方法
使用base64加密与解密非常简单,只需要调用上面给出的base64Encode()和base64Decode()函数即可,参数为要加密或解密的数据,返回值为加密或解密后的结果。
- 加密:
let encryptedData = base64Encode('data to be encrypted'); - 解密:
let decryptedData = base64Decode('data to be decrypted');