一般用户密码服务器上也是加密的,是不可能明文看得到。如果网页中要记住防止用户再登录该网站免输入账号和密码,可以通过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;
}
登录后复制
二、如何使用
以上就是关于密码的简单加密方法的详细内容,更多请关注php中文网其它相关文章!
声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。