在网上找了一圈,想找一个js实现base32编码的,网上只有实现base64编码的,其实原理都是一样的。都是将字符的ASCII码分组后再重新组 合,区别只是每组包含的有效的bytes不同,base64是将3个ASCII字节,组合成4个base字节。而base32是将5个ASCII字节组合 成8个base字节。
下面是我根据java实现base32编码改编的。可以实现对中文的编码。
核心的加密和解密函数如下,附件里是完整的代码,包括对中文的支持函数(对中文的编码是从网上引用的)。
/** *加密函数 *返回被编码加密的字符串 */ var getEncodeString = function (srcString){ //var srcString = 'abc'; var i = 0; var index = 0; var digit = 0; var currByte; var nextByte; var retrunString = ''; for (var i=0; i< srcString.length;) { //var index = 0; currByte = (srcString.charCodeAt(i) >= 0) ? srcString.charCodeAt(i) : (srcString.charCodeAt(i) + 256); if (index >