function showToast(msg) let toast = document.createElement('div'); toast.innerText = msg; toast.style.position = 'fixed'; toast.style.bottom = '20px'; toast.style.left = '50%'; toast.style.transform = 'translateX(-50%)'; toast.style.backgroundColor = '#1f2a44'; toast.style.color = '#eef'; toast.style.padding = '8px 20px'; toast.style.borderRadius = '40px'; toast.style.zIndex = '9999'; toast.style.fontSize = '0.8rem'; toast.style.border = '1px solid #6f8fcf'; document.body.appendChild(toast); setTimeout(() => toast.remove(), 2000);
<script> // -------- DOM elements ---------- const lengthSlider = document.getElementById('passLength'); const lenValue = document.getElementById('lenValue'); const useUpper = document.getElementById('useUpper'); const useLower = document.getElementById('useLower'); const useDigits = document.getElementById('useDigits'); const useSymbols = document.getElementById('useSymbols'); const generateBtn = document.getElementById('generateBtn'); const generatedPassDiv = document.getElementById('generatedPass'); const copyGenBtn = document.getElementById('copyGenBtn'); const serviceNameInput = document.getElementById('serviceName'); const saveToVaultBtn = document.getElementById('saveToVaultBtn'); const vaultBody = document.getElementById('vaultBody'); const searchVault = document.getElementById('searchVault'); const exportBtn = document.getElementById('exportVaultBtn'); const importBtn = document.getElementById('importVaultBtn'); const importFile = document.getElementById('importFile'); const clearAllBtn = document.getElementById('clearAllBtn'); tyviania password
function refreshGenerator() const newPass = generatePassword(); generatedPassDiv.innerText = newPass; function showToast(msg) let toast = document
function evaluateStrength(pwd) let score = 0; if(pwd.length >= 12) score++; if(pwd.length >= 16) score++; if(/[A-Z]/.test(pwd)) score++; if(/[a-z]/.test(pwd)) score++; if(/[0-9]/.test(pwd)) score++; if(/[^A-Za-z0-9]/.test(pwd)) score++; if(score >= 5) return 'strong'; if(score >= 3) return 'medium'; return 'weak'; toast.innerText = msg
You can copy the content below into an HTML file and open it in your browser.
function saveVault(vault) localStorage.setItem(STORAGE_KEY, JSON.stringify(vault)); renderVault();