HTML
function encode(str,key) 功能 傳回 字串/文章 編碼加密, str = 需要 編碼加密 字串/文章, key = 密碼。 function decode(str,key) 功能 傳回 將加密編碼還原為 字串/文章, str = 加密後編碼, key = 密碼。 例 : encode("銀行","123456") 傳回 "ad9ff3c40c7372664ff58ce086420010015de271" 例 : decode("ad9ff3c40c....086420010015de271","123456") 傳回 "銀行"
密碼/password <input id="APww" value="1234" /> <input type="button" id="ADDT" onclick="AButton(this)" value="加密 encode" style="cursor:pointer;font-size: 20px ;"/> <br><br> <div id="Originsl" >原文 字串/文章 Original string</div> <textarea id="Astr" spellcheck="false" wrap="logical" style="width:98%;height:550px" > 銀行 : 中央國際銀行 編號 : 998826283800 密碼 : 123456789 銀行 : 大國城鄉銀行 編號 : 998826283800 密碼 : 123456789 持有1000兩黃金 </textarea> </div> <script> function AButton(x){ if(x.value == "加密 encode"){ Aencode(Astr.value, APww.value) ; x.value = "解碼 decode"; Originsl.innerHTML ="加密後編碼 Encryption code"; return ; } if(x.value == "解碼 decode"){ Adecode(Astr.value, APww.value) Originsl.innerHTML ="原文 字串/文章 Original string"; x.value = "加密 encode"; return ; } } function Aencode(str,key) { str=btoa(escape(str)); var l=""; for(var c=0;cvar g=Math.floor(l.length/5); var b=parseInt(l.charAt(g)+l.charAt(g*2) + l.charAt(g*3)+l.charAt(g*4)+l.charAt(g*5)); var a=Math.ceil(key.length/2);var h=Math.pow(2,31)-1; var d=Math.round(Math.random()*1000000000)%100000000; l+=d; while(l.length>10){l=(parseInt(l.substring(0,10)) + parseInt(l.substring(10,l.length))).toString()} l=(b*l+a)%h; var e=""; var k=""; for(c=0;cd=d.toString(16); while(d.length<8) { d="0" + d } ; k+=d; Astr.value = k; } function Adecode(encodeStr,key){ var l=""; for(var c=0;cvar g=Math.floor(l.length/5); var b= parseInt(l.charAt(g)+l.charAt(g*2)+l.charAt(g*3) + l.charAt(g*4)+l.charAt(g*5)); var a=Math.round(key.length/2); var h=Math.pow(2,31)-1; var d=parseInt(encodeStr.substring(encodeStr.length - 8 , encodeStr.length),16); encodeStr=encodeStr.substring(0,encodeStr.length-8); l+=d; while(l.length>10){l=(parseInt(l.substring(0,10)) + parseInt(l.substring(10,l.length))).toString()}; l=(b*l+a)%h; var e=""; var k=""; for(c=0;cif(encodeURIComponent(k).charAt(0)=="%" || encodeURIComponent(k).charAt(1)=="%" || encodeURIComponent(k).charAt(2)=="%" ) { alert("密碼錯誤 \n wrong password") } Astr.value =unescape(atob(k)) ; } </script>
沒有留言:
張貼留言