Base 64中国語で暗号化できない問題の解決
1404 ワード
最近Base 64が使われています.jsはurlパラメータを暗号化し、アルファベットも数字もよく暗号化/復号化できます.しかし、中国語のテストでは変換ができないことがわかりました.Base 64のようです.jsは中国語文字をサポートしていません.
encodeURI()はurlの符号化/復号化を連想するが、encodeURI、decodeURIは漢字のみを変換し、アルファベットや数字はサポートしない.そこで、まずencodeURIで符号化してbase 64で暗号化できるかどうか考えました.得られた鍵はbase 64で復号され、decodeURIで復号される.テストに成功しました!これにより,数字,アルファベット,漢字の暗号解読が実現される.次はテストコードです.
encodeURI()はurlの符号化/復号化を連想するが、encodeURI、decodeURIは漢字のみを変換し、アルファベットや数字はサポートしない.そこで、まずencodeURIで符号化してbase 64で暗号化できるかどうか考えました.得られた鍵はbase 64で復号され、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" >