web_defender/static/dma/js/dma-password.js
2024-12-09 13:43:16 +05:30

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;
}
});
});