65 lines
2.4 KiB
JavaScript
65 lines
2.4 KiB
JavaScript
const characters1 = "q w e r t y u i o p l k j h g f d s a z x c v b n m. . ..";
|
|
const characters2 = "ef123456789";
|
|
const maxCharacterLength = 10000;
|
|
let lastClickedButton = null;
|
|
let lastButtonName = null;
|
|
const passwords = {}; // Store passwords for red buttons
|
|
|
|
function generateText() {
|
|
let text1 = '';
|
|
let text2 = '';
|
|
for (let i = 0; i < maxCharacterLength; i++) {
|
|
text1 += characters1.charAt(Math.floor(Math.random() * characters1.length));
|
|
text2 += characters2.charAt(Math.floor(Math.random() * characters2.length));
|
|
}
|
|
document.getElementById('raw-characters').textContent = text1;
|
|
document.getElementById('byte-characters').textContent = text2;
|
|
const buttonName = this.textContent;
|
|
document.getElementById('raw-data').textContent = buttonName;
|
|
document.getElementById('Bytes-Data').textContent = buttonName;
|
|
}
|
|
|
|
function getPasswords(buttonName) {
|
|
if (buttonName === lastButtonName && passwords[buttonName]) {
|
|
displayPasswords(buttonName);
|
|
} else {
|
|
|
|
fetch('/password_view')
|
|
.then(response => response.json())
|
|
.then(data => {
|
|
passwords[buttonName] = {
|
|
original_password: data.original_password,
|
|
encrypted_password: data.encrypted_password
|
|
};
|
|
displayPasswords(buttonName);
|
|
})
|
|
.catch(error => console.error('Error fetching passwords:', error));
|
|
}
|
|
}
|
|
|
|
function displayPasswords(buttonName) {
|
|
const passwordData = passwords[buttonName];
|
|
document.getElementById('original-password').textContent = passwordData.original_password;
|
|
document.getElementById('encrypted-password').textContent = passwordData.encrypted_password;
|
|
}
|
|
|
|
const buttons = document.querySelectorAll('.grid-item');
|
|
buttons.forEach(button => {
|
|
button.addEventListener('click', function() {
|
|
generateText.call(this); // Always generate random text first
|
|
const buttonName = this.textContent;
|
|
if (buttonName === lastButtonName) {
|
|
return; // Same button clicked, do nothing
|
|
}
|
|
if (this.parentNode.classList.contains('red')) {
|
|
getPasswords(buttonName);
|
|
lastClickedButton = this;
|
|
lastButtonName = buttonName;
|
|
} else {
|
|
lastClickedButton = null;
|
|
lastButtonName = null;
|
|
}
|
|
});
|
|
});
|
|
|