js 实现 base58加密/解密(包含中文)

本文介绍了Base58编码原理,它用于将非可视字符转换为ASCII,且排除了可能引起混淆的字符。接着提供了JavaScript实现的Base58加密和解密代码示例,帮助理解其工作流程。
摘要由CSDN通过智能技术生成

1. Base58加密原理:和通常base64编码一样,base58编码的作用也是将非可视字符可视化(ASCII化)。但不同的是base58编码去掉了几个看起来会产生歧义的字符,如 0 (零), O (大写字母O), I (大写的字母i) and l (小写的字母L) ,和几个影响双击选择的字符,如/, +。结果字符集正好58个字符(包括9个数字,24个大写字母,25个小写字母)。

2. 直接上代码(加密):

a 先存ALPHABET_MAP(方便后期检查当前是否为Base58编码)

var ALPHABET = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz';
var ALPHABET_MAP = {};
var BASE = 58;
for (var i = 0; i < ALPHABET.length; i++) {
  ALPHABET_MAP[ALPHABET.charAt(i)] = i;
}
// 得到对象ALPHABET_MAP ---> {1: 0, 2: 1, 3: 2, 4: 3, 5: 4, 6: 5, 7: 6, 8: 7, 9: 8, A: 9, B: 10, C: 11, D: 12, E: 13, …, y: 56, z: 57}

b 将字符串转为byte字节数组(这里用的UTF8)


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值