Heim  >  Artikel  >  Web-Frontend  >  Einfache Verschlüsselungsmethode für Passwörter

Einfache Verschlüsselungsmethode für Passwörter

一个新手
一个新手Original
2017-10-20 11:04:042140Durchsuche

Allgemeine Benutzerpasswörter werden ebenfalls auf dem Server verschlüsselt und sind nicht im Klartext sichtbar. Wenn Sie verhindern möchten, dass sich Benutzer erneut auf der Website anmelden, ohne ihr Konto und Passwort einzugeben, können Sie dies über Cookies, sessionStorage und localStorage aufzeichnen.

Szenario: Nachdem sich der Benutzer einmal erfolgreich angemeldet hat, kann er sich erneut anmelden, ohne den Benutzernamen und das Passwort zu verlieren! Speichern Sie es lokal und möchten Sie nicht, dass es im Klartext angezeigt wird. Es kann nur verschlüsselt und gespeichert werden (im Allgemeinen ist die Verschlüsselung irreversibel)

Eine einfache Verschlüsselung und Entschlüsselung (es gibt keine Sicherheit, wenn der Code vollständig offengelegt wird)

//加密
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 !== &#39;string&#39; || typeof xor !== &#39;number&#39; || typeof hex !== &#39;number&#39;) {
      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(&#39;&#39;);
    return resultStr;
}

2. Verwendung von

Das obige ist der detaillierte Inhalt vonEinfache Verschlüsselungsmethode für Passwörter. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn