일반 사용자 비밀번호도 서버에서 암호화되어 일반 텍스트로 볼 수 없습니다. 사용자가 계정과 비밀번호를 입력하지 않고 웹사이트에 다시 로그인하는 것을 방지하려면 쿠키, sessionStorage, localStorage를 통해 이를 기록할 수 있습니다.
시나리오: 사용자가 한 번 성공적으로 로그인한 후에는 계정 번호와 비밀번호를 잃지 않고 다시 로그인할 수 있습니다! 로컬에 저장하고 일반 텍스트로 표시되지 않도록 하세요. 암호화해서 저장할 수만 있습니다(일반암호화는 되돌릴 수 없습니다)
1. 간단한 암호화 및 복호화(코드가 완전히 노출되면 보안이 없습니다)
//加密 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; }
2. 사용방법
위 내용은 비밀번호의 간단한 암호화 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!