Base64中文不能加密問題


  最近用到了Base64.js來對url參數進行加密,字母和數字都可以很好地加密/解密。 但測試中文時發現不能進行轉換,貌似Base64.js不支持中文字符。

  聯想到encodeURI()對url的編碼/解碼,但encodeURI、decodeURI只能對漢字進行轉換,不支持字母和數字。於是想能不能先用encodeURI編碼 再用base64加密; 得到密鑰先用base64解密,再用decodeURI解碼。經過測試  成功了!從而實現了對數字、字母、漢字的加密解密。下面為測試代碼:

<script type="text/javascript" src="js/Base64.js"></script>
<script type="text/javascript">
        
        function bian(){
            var val = document.getElementById("bb").value;
            var com= base64encode(encodeURI(val));
            var res = document.getElementById("result");
            res.value=com;
        }
        function jie(){
            var val = document.getElementById("bb").value;
            var com=  decodeURI(base64decode(val)) ;
            //document.write(com);
            var res = document.getElementById("result");
            res.value=com;
        }
    </script>

 

<input type="text" id="bb"/>
<input type="button" value="編碼" onclick="bian()">
<input type="button" value="解碼" onclick="jie()"> <br/>
<input type="text" id="result" >

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM