html简单 字母数字 加密 解密 实例

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>html简单字母数字加密解密实例</title>
	
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="this is my page">
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    
    <!--<link rel="stylesheet" type="text/css" href="./styles.css">-->
	<script type="text/javascript">
	
	
	var base64EncodeChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
	var base64DecodeChars = new Array(
	  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
	  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
	  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 62, -1, -1, -1, 63,
	  52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -1, -1, -1, -1, -1, -1,
	  -1, 0, 1, 2, 3,  4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
	  15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -1, -1, -1, -1, -1,
	  -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
	  41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1);

	//	测试加密
	function testEncode()
	{
		var str = document.getElementById("psw").value;
		var out, i, len;
	    var c1, c2, c3;
	    len = str.length;
	    i = 0;
	    out = "";
	    while (i < len) {
	        c1 = str.charCodeAt(i++) & 255;
	        if (i == len) {
	            out += base64EncodeChars.charAt(c1 >> 2);
	            out += base64EncodeChars.charAt((c1 & 3) << 4);
	            out += "==";
	            break;
	        }
	        c2 = str.charCodeAt(i++);
	        if (i == len) {
	            out += base64EncodeChars.charAt(c1 >> 2);
	            out += base64EncodeChars.charAt(((c1 & 3) << 4) | ((c2 & 240) >> 4));
	            out += base64EncodeChars.charAt((c2 & 15) << 2);
	            out += "=";
	            break;
	        }
	        c3 = str.charCodeAt(i++);
	        out += base64EncodeChars.charAt(c1 >> 2);
	        out += base64EncodeChars.charAt(((c1 & 3) << 4) | ((c2 & 240) >> 4));
	        out += base64EncodeChars.charAt(((c2 & 15) << 2) | ((c3 & 192) >> 6));
	        out += base64EncodeChars.charAt(c3 & 63);
	    }
	    alert(out);
	    return out;
	}
	
	//	测试解密
	function testDecode()
	{
		var str = testEncode();
		var c1, c2, c3, c4;
	    var i, len, out;
	    len = str.length;
	    i = 0;
	    out = "";
	    while (i < len) {
	        /* c1 */
	        do {
	            c1 = base64DecodeChars[str.charCodeAt(i++) & 255];
	        } while (i < len && c1 == -1);
	        if (c1 == -1) {
	            break;
	        }
	        /* c2 */
	        do {
	            c2 = base64DecodeChars[str.charCodeAt(i++) & 255];
	        } while (i < len && c2 == -1);
	        if (c2 == -1) {
	            break;
	        }
	        out += String.fromCharCode((c1 << 2) | ((c2 & 48) >> 4));
	        /* c3 */
	        do {
	            c3 = str.charCodeAt(i++) & 255;
	            if (c3 == 61) {
	                return out;
	            }
	            c3 = base64DecodeChars[c3];
	        } while (i < len && c3 == -1);
	        if (c3 == -1) {
	            break;
	        }
	        out += String.fromCharCode(((c2 & 15) << 4) | ((c3 & 60) >> 2));
	        /* c4 */
	        do {
	            c4 = str.charCodeAt(i++) & 255;
	            if (c4 == 61) {
	                return out;
	            }
	            c4 = base64DecodeChars[c4];
	        } while (i < len && c4 == -1);
	        if (c4 == -1) {
	            break;
	        }
	        out += String.fromCharCode(((c3 & 3) << 6) | c4);
	    }
	    alert(out);
	}
	</script>
  </head>
  
  <body>
    <input type="password" name="psw" id="psw"/>
    <input type="button" value="加密" οnclick="testEncode();">
    <input type="button" value="解密" οnclick="testDecode();">
  </body>
</html>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值