Jak mogę zapisać oryginalne hasło do mojego lokalnego przechowywania?

Mam nazwę użytkownika i hasło do dwóch wejść:

<input id="myInput" type="text" name="myInput" placeholder="Input">
<input id="myPW" type="password" name="myPassword" placeholder="Password">

Chcę zrobić w moim JavaScript, jest przechowywanie mojej nazwy użytkownika, hasło przekonwertowane na bazę64 i oryginalne dane hasła. Ale przechowuje tylko hasło użytkownika i base64. Oryginalne hasło nie zostanie zapisane. Jak mogę to naprawić?

1
Rin_asdfghjkl 28 luty 2019, 10:09

2 odpowiedzi

Najlepsza odpowiedź

Twoje wejście jest puste po linii inpw.value = ""; Ponadto nie powtarzaj siebie. Robię trochę refaktora. Powinieneś napisać funkcje, aby uzyskać poświadczenie do lokalnego sklepu

const storedValue = ['user', 'pass', 'origin']

const credential = getCredentialFromStore(storedValue)

const getCredentialFromStore = (storedValue) => {
  const result = []
  storedValue.forEach(item => {
    result[item] = localStorage.getItem(item) ? JSON.parse(localStorage.getItem(item)) : [];
  })
  return result
}

A także napisz trochę funkcji, aby ustawić poświadczenie do Loctorstore jak

const addToCredential = (credential, key, value) => {
  credential[key].push(value);
  localStorage.setItem(key, JSON.stringify(credential[key]));
  return credential
}

Za pomocą :

addToCredential(credential, 'user', inp.value)
addToCredential(credential, 'pass', window.btoa(inpw.value))
addToCredential(credential, 'orig', inpw.value)
1
Vu Luu 28 luty 2019, 07:46

Ponieważ ustawisz inpw.value, aby opróżnić ciąg przed użyciem, aby nacisnąć oryginalne hasło.

  userArray.push(inp.value);
  localStorage.setItem('user', JSON.stringify(userArray));
  inp.value = "";

  passArray.push(window.btoa(inpw.value));
  localStorage.setItem('pass', JSON.stringify(passArray));
  inpw.value = ""; // This makes next inpw.value equals ""

  origPassArray.push(inpw.value); // So this will push an empty string to the array
  localStorage.setItem('orig', JSON.stringify(origPassArray));
  inpw.value = "";
2
holydragon 28 luty 2019, 07:13