js 加密

var keyStr = "ABCDEFGHIJKLMNOP" + "QRSTUVWXYZabcdef" + "ghijklmnopqrstuv"
                        + "wxyz0123456789+/" + "=%";
        function encode64(input) {
                var result = /[\u4e00-\u9fa5]/.test(input);
                if(result){
                    var encode ='%25E5%25AD%2597%25E7%25AC%25A6%25E4%25B8%25B2%25E4%25B8%25AD%25E5%258C%2585'+
                                '%25E5%2590%25AB%25E4%25B8%25AD%25E6%2596%2587!%25E4%25B8%258D%25E8%2583%25BD%'+
                                '25E8%25BF%259B%25E8%25A1%258C%25E5%258A%25A0%25E5%25AF%2586!%25E8%25AF%25B7%25E8%'+
                                '25BF%259B%25E8%25A1%258C%25E5%25AD%2597%25E7%25AC%25A6%25E9%259B%2586%25E7%25BC%259'+
                                '6%25E7%25A0%2581';
                    var decodeURI = decodeURI(decodeURI(encode));
                    alert(decodeURI);
                    return;
                }
                var output = "";
                var chr1, chr2, chr3 = "";
                var enc1, enc2, enc3, enc4 = "";
                var i = 0;
                do {
                        chr1 = input.charCodeAt(i++);
                        chr2 = input.charCodeAt(i++);
                        chr3 = input.charCodeAt(i++);
                        
                        enc1 = chr1 >> 2;
                        enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
                        enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
                        enc4 = chr3 & 63;
                        /*
                        console.log("<======================================>");
                        console.log("chr1:"+chr1+
                        ";chr2:"+chr2+
                        ";chr3:"+chr3+
                        ";enc1:"+enc1+
                        ";enc2:"+enc2+
                        ";enc3:"+enc3+
                        ";enc4:"+enc4);
                        */
                        if (isNaN(chr2)) {
                                enc3 = enc4 = 64;
                        } else if (isNaN(chr3)) {
                                enc4 = 64;
                        }
                        /*
                        console.log(keyStr.charAt(enc1) + keyStr.charAt(enc2)
                                        + keyStr.charAt(enc3) + keyStr.charAt(enc4));

                        console.log("<======================================>");
                        */
                        output = output + keyStr.charAt(enc1) + keyStr.charAt(enc2)
                                        + keyStr.charAt(enc3) + keyStr.charAt(enc4);
                        chr1 = chr2 = chr3 = "";
                        enc1 = enc2 = enc3 = enc4 = "";
                } while (i < input.length);

                return output;
                
        }
相關文章
相關標籤/搜索