关于密码的简单加密
2018-06-24 00:35:14来源:未知 阅读 ()
一般用户密码服务器上也是加密的,是不可能明文看得到。如果网页中要记住防止用户再登录该网站免输入账号和密码,可以通过cookie,sessionStorage,localStorage来记录。
场景:用户成功登录一次后下次再登录免输账号和密码!保存在本地又不想明文显示出来。只能加密保存(一般加密都是不可逆的)
一、一个简单的加密和解密(如果代码完全暴露没有安全性)
//加密
function encrypto( str, xor, hex ) { if ( typeof str !== 'string' || typeof xor !== 'number' || typeof hex !== 'number') { return; } let resultList = []; hex = hex <= 25 ? hex : hex % 25; for ( let i=0; i<str.length; i++ ) { // 提取字符串每个字符的ascll码 let charCode = str.charCodeAt(i); // 进行异或加密 charCode = (charCode * 1) ^ xor; // 异或加密后的字符转成 hex 位数的字符串 charCode = charCode.toString(hex); resultList.push(charCode); } let splitStr = String.fromCharCode(hex + 97); let resultStr = resultList.join( splitStr ); return resultStr; }
//解密 function decrypto( str, xor, hex ) { if ( typeof str !== 'string' || typeof xor !== 'number' || typeof hex !== 'number') { return; } let strCharList = []; let resultList = []; hex = hex <= 25 ? hex : hex % 25; // 解析出分割字符 let splitStr = String.fromCharCode(hex + 97); // 分割出加密字符串的加密后的每个字符 strCharList = str.split(splitStr); for ( let i=0; i<strCharList.length; i++ ) { // 将加密后的每个字符转成加密后的ascll码 let charCode = parseInt(strCharList[i], hex); // 异或解密出原字符的ascll码 charCode = (charCode * 1) ^ xor; let strChar = String.fromCharCode(charCode); resultList.push(strChar); } let resultStr = resultList.join(''); return resultStr; }
二、如何使用
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:js模块化方案以及前端打包工具
下一篇:关于函数,你知多少?
- 关于jQuery UI 使用心得及技巧 2020-03-29
- JS简单去除数组中重复项的方法 2020-03-16
- javascript 中关于array的常用方法详解 2020-03-16
- JS判断浏览器是否安装flash插件的简单方法 2020-03-12
- 关于JS array的数组 2020-03-08
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash