Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Помогите разобраться в коде (https://javascript.ru/forum/misc/77386-pomogite-razobratsya-v-kode.html)

snboy2010 25.04.2019 14:06

Помогите разобраться в коде
 
Помогите пожалуйста. Кто может найти пароль который можно в следуйщем когде изпользовать?
pwd = [0xf8, 0xde, 0xdb, 0xce, 0xd9, 0xf8, 0xce, 0xc8, 0xd9, 0xce, 0xdf, 0xfb, 0xca, 0xd8, 0xd8, 0xdc, 0x9b, 0xd9, 0xcf];

function login() {
  var username = document.getElementById('username').value;
  var password = document.getElementById('password').value;
  if (username === 'admin') {
    if (password.length != pwd.length) {
      loginFailed();
      return;
    }
    for (var i = 0; i < password.length; i++) {
      if (password.charCodeAt(i) !== (pwd[i]^0xab)) {
        loginFailed();
        return;
      }
    }
    window.location = password+'.html'
  }
  else loginFailed();
}

function loginFailed() {
  document.getElementById('btnLogin').classList.add('btn-danger');
  document.getElementById('username').classList.add('is-invalid');
  document.getElementById('password').classList.add('is-invalid');
  document.getElementById('spanLoginFailed').style.display = 'block';
  setTimeout(function() {
    document.getElementById('btnLogin').classList.remove('btn-danger');
    document.getElementById('username').classList.remove('is-invalid');
    document.getElementById('password').classList.remove('is-invalid');
    document.getElementById('spanLoginFailed').style.display = 'none';
  }, 1000);
}

function keydown(e) {
  if (e.key === 'Enter') login();
}

SuperZen 25.04.2019 14:36

хо хо

<script>
  let pwd = [0xf8, 0xde, 0xdb, 0xce, 0xd9, 0xf8, 0xce, 0xc8, 0xd9, 0xce, 0xdf, 0xfb, 0xca, 0xd8, 0xd8, 0xdc, 0x9b, 0xd9, 0xcf];
  let letters = "AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz0123456789!@#$%^&*()_-+.,'/\":;?\\[]{}=|"
  let realPassword = {}

  pwd.forEach((pwdLetter, pwdI) => {
    [...letters].forEach((plainLetter, plainI) => {
      let found = letters.charCodeAt(plainI) === (pwd[pwdI] ^ 0xab)
      if (found) realPassword[pwdI] = letters[plainI]
    })
  })

  console.log(realPassword)
</script>


SuperSecretPassword )

рони 25.04.2019 14:42

Цитата:

Сообщение от SuperZen
letters[plainI]

:-?
forEach((plainLetter, plainI)

SuperZen 25.04.2019 14:46

рони,

) be the first to know... letters.charCodeAt(plainI)

snboy2010 25.04.2019 14:55

Спасибо за ответ. Но если я копирую твой ответ в Compiler мне выходит Syntax error

рони 25.04.2019 14:57

SuperZen,
можно перевод?

SuperZen 25.04.2019 15:00

Цитата:

Сообщение от snboy2010
Кто может найти пароль который можно в следуйщем когде изпользовать?

Пароль: SuperSecretPassword

Цитата:

Сообщение от snboy2010
Но если я копирую твой ответ в Compiler мне выходит Syntax error

без понятия что такой Compiler, ну переделай стрелочный ф-ции в обычные, let на var поменяй, спред ф-цию (...) замени на for, и будет тоби счастье ... %)

SuperZen 25.04.2019 15:09

Цитата:

Сообщение от рони
SuperZen,
можно перевод?

перевод чего? ... сначала я написал одну ф-цию, но выяснилось, надо другую ф-цию, и поэтому (plainLetter, plainI), потом letters.charCodeAt(plainI) взять код можно так..., ну а это realPassword[pwdI] = letters[plainI] :) я не заметил... так лучше?

поправка, пароль: SuperSecretPassw0rd

<script>
  let pwd = [0xf8, 0xde, 0xdb, 0xce, 0xd9, 0xf8, 0xce, 0xc8, 0xd9, 0xce, 0xdf, 0xfb, 0xca, 0xd8, 0xd8, 0xdc, 0x9b, 0xd9, 0xcf];
  let realPassword = {}
  pwd.forEach((pwdLetter, pwdI) => [..."AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz0123456789!@#$%^&*()_-+.,'/\":;?\\[]{}=|"].forEach((plainLetter, plainI) => plainLetter.charCodeAt(0) === (pwdLetter ^ 0xab) && (realPassword[pwdI] = plainLetter)))
  console.log(realPassword)
</script>

рони 25.04.2019 15:12

Цитата:

Сообщение от SuperZen
так лучше?

:thanks:

Dilettante_Pro 25.04.2019 17:15

SuperZen,
У вас в примере не те рамочные теги - нужно HTML, а не JS
(или убрать <script></script>)


Часовой пояс GMT +3, время: 22:19.