本文实例讲述了JavaScript实现的简单加密解密操作。分享给大家供大家参考,具体如下:
JavaScript实现对内容的加密和解密。加密,转成编码。解密则是编码转字符串。
<html>
<head>
<meta charset="utf-8" />
<title>www.jb51.net JS加密解密</title>
</head>
<body>
<h1> 加密解密 </h1>
<input type="text" id="secret" />
<input type="button" value="加密" onclick="encode()">
<input type="button" value="解密" onclick="decode();">
<script>
// 加密
function encode()
{
// var s = secret.value;
// s 是一个字符串, 类型: String
// 根据 s 来创建一个字符串对象
// str 的类型是: Object
// var str = new String(s);
// length 是获取字符串对象的长度,也就是说有多少个字符
// str.length
var str = secret.value;
var r = "";
// string 类型的可以当做字符串对象来用
for (var i = 0; i < str.length; i++)
{
// 取出下标为 i 字符的编码
var code = str.charCodeAt(i);
// 将字符对应的编码,拼接到一个空字符串上
r += code;
// 每个符号后,添加 , 分割
r += ",";
}
// secret.value
// 设置输入框的内容为 r
secret.value = r;
}
// 使用到知识点(1)---如何将一个 数字 转换成对应的 字符
// String.fromCharCode
// 函数功能: 将 数字 转换成对应的 字符
// String 其实是系统的一个对象
// document.write( String.fromCharCode(97) );
/*
var s = "97,98,99,";
// 字符串对象中 split 方法
// 作用: 按照参数 分割 字符串
// 返回值: 分割之后的 数组
var arr = s.split(",");
// 数组中多了一个空白的元素,如何处理?
// 删除数组中最后一个元素
arr.pop();
document.write(arr);
//*/
// 解密
function decode()
{
// 获取文本框中的字符串
// 例如: 96,97,98
var str = secret.value;
// 思路:
// 1. 按照 , 分割字符串
// 2. 将每个 分割的子字符串 转换成 数字,再转换成 字符
// 96 97 98
// 3. 将还原的字符,拼接在一起,再设置到 input 中去
var arr = str.split(",");
// 用于拼接结果的
var r = "";
for (var i = 0; i < arr.length; i++)
{
// 获取加密后的 字符串的编码,是一个数字
var code = parseInt(arr[i]);
r += String.fromCharCode(code);
}
// 将拼接后的结果,设置到 input 中
secret.value = r;
}
</script>
</body>
</html>
使用在线HTML/CSS/JavaScript代码运行工具http://tools.jb51.net/code/HtmlJsRun测试运行结果如下:
PS:关于加密解密感兴趣的朋友还可以参考本站在线工具:
文字在线加密解密工具(包含AES、DES、RC4等):
http://tools.jb51.net/password/txt_encode
在线编码转换工具(utf-8/utf-32/Punycode/Base64):
http://tools.jb51.net/transcoding/decode_encode_tool
BASE64编码解码工具:
http://tools.jb51.net/transcoding/base64
在线MD5/hash/SHA-1/SHA-2/SHA-256/SHA-512/SHA-3/RIPEMD-160加密工具:
http://tools.jb51.net/password/hash_md5_sha
在线sha1/sha224/sha256/sha384/sha512加密工具:
http://tools.jb51.net/password/sha_encode
更多关于JavaScript相关内容可查看本站专题:《JavaScript加密解密技巧汇总》、《JavaScript查找算法技巧总结》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》及《JavaScript数学运算用法总结》
希望本文所述对大家JavaScript程序设计有所帮助。
JavaScript,加密解密
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新日志
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]
