JavaScript利用密钥加密与解密

 
  
<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
>
< html xmlns ="http://www.w3.org/1999/xhtml" >
< head >
< title > JavaScript利用密钥加密与解密 </ title >
< script type ="text/javascript" >
function getKey() {
var key = $F( " txtKey " );
if (key == "" ) return 0 ;
var result = 0 ;
for ( var i = 0 ; i < key.length; i ++ ) {
result
+= key.charCodeAt(i) * key.length;
}
return result;
}
var fnCompile = function () {
var result = compile($F( ' txtInfo ' ), getKey());
$(
" txtInfo " ).value = result;
}
var fnUncompile = function () {
var result = uncompile($F( ' txtInfo ' ), getKey());
$(
" txtInfo " ).value = result;
}
window.onload
= function () {
addEvent($(
" btnCompile " ), " click " , fnCompile);
addEvent($(
" btnUncompile " ), " click " , fnUncompile);
}

// 加密
// info:待加密信息,key:密钥
function compile(info, key) {
var result = "" ;
for ( var i = 0 ; i < info.length; i ++ ) {
var tempNum = info.charCodeAt(i) + key;
result
+= tempNum + " , " ;
}
if (result.substring(result.length - 1 , result.length) == " , " )
result
= result.substring( 0 , result.length - 1 );
return escape(result);
}
// 解密
// info:待解密信息,key:密钥
function uncompile(info, key) {
var result = "" ;
var info = unescape(info).split( ' , ' );
for ( var i = 0 ; i < info.length; i ++ ) {
var tempNum = info[i] - key;
result
+= String.fromCharCode(tempNum);
}
return result;
}

function $(id) { return document.getElementById(id); }
function $F(id) { return document.getElementById(id).value; }
// 绑定事件
function addEvent(obj, type, fn) {
if (obj.attachEvent) {
obj[
' e ' + type + fn] = fn;
obj[type
+ fn] = function () { obj[ ' e ' + type + fn]

(window.event); }
obj.attachEvent(
' on ' + type, obj[type + fn]);
}
else obj.addEventListener(type, fn, false );
}
// 移除事件
function removeEvent(obj, type, fn) {
if (obj.detachEvent) {
obj.detachEvent(
' on ' + type, obj[type + fn]);
obj[type
+ fn] = null ;
}
else obj.removeEventListener(type, fn, false );
}


</ script >
</ head >
< body >
< form id ="form1" runat ="server" >
密钥:
< input type ="text" id ="txtKey" value ="123" />
< input type ="button" id ="btnCompile" value ="加密" />
< input type ="button" id ="btnUncompile" value ="解密" />

< br />
< textarea id ="txtInfo" rows ="20" cols ="80" > 想加密的字123... </ textarea >
</ form >
</ body >
</ html >

如下图所示:

0_1289539829S4GN.gif

0_12895398702d2E.gif

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值