Skip to content

Instantly share code, notes, and snippets.

@rebane2001
Forked from petskratt/xkcd_pwd_gen.php
Last active March 20, 2023 15:37
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save rebane2001/fbf98bba347aade2ef646e4c8bf4b63f to your computer and use it in GitHub Desktop.
Save rebane2001/fbf98bba347aade2ef646e4c8bf4b63f to your computer and use it in GitHub Desktop.
Generate xkcd style password using most common 1000 Estonian words (Ansip and Savisaar excluded)
<!doctype html>
<html lang="et">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<title>Salasõna-pulpulaator | rabool-js</title>
<style>
html {
background-color: #fafafa
}
body {
font-family: Lato, Open Sans, Arial;
color: #454851;
font-size: 16px;
margin: 2em auto;
max-width: 800px;
padding: 1em;
line-height: 1.4;
text-align: justify
}
a,
a:visited {
color: #7BAE7F
}
h2 {
margin-bottom: 0;
}
</style>
</head>
<body>
<h1><span>rabool-js</span>
<small style="color:#AAA">lihtsad paroolid lihtsatele inimestele</small>
</h1>
<hr/>
<h2><span id="parool"></span></h2>
<button onClick="copyPwd()">Kopeeri!</button><button onClick="genPwd()">Genereeri!</button>
<p>Keeruline parool ei hakka pähe? Proovi parem midagi lihtsat. Neli levinud sõna, võid neid veidi pipardada
veidrate märkide või numbritega.
Jah, ka selline parool on jõuga lahti murtav kui on teada, et nimelt seda meetodit kasutad. Aga laias
kasutajatemeres on olulisem, et Sa ei pruugiks ühte ja sama
<span title="Parool, rabool - mis seal vahet?">rabooli</span> igal pool.</p>
<p>
<small>
Kahvel petskratti rabool.eu-st, millest on eemaldatud kõik välised impordid ning parooli generatsioon on tehtud kliendipoolseks.<br>
<a href="https://gist.github.com/rebane2001/fbf98bba347aade2ef646e4c8bf4b63f">Lähtekood</a>
<a href="https://xkcd.com/936/">Miks see on hea parool?</a>
<a href="https://rabool.eu">Originaal</a>
</small>
</p>
<script>
//TODO: parem wordlist
const wordlist = ["aasta", "aastaga", "aastaid", "aastaks", "aastal", "aastas", "aastast", "aastat", "aastate", "aastatel", "abi", "abikaasa", "abil", "aeg", "aega", "aga", "ainult", "ainus", "aitab", "aja", "ajaks", "ajal", "aktsia", "alates", "alati", "algab", "algul", "alguses", "all", "alla", "alles", "alt", "alusel", "alustas", "anda", "andis", "andmetel", "andnud", "anna", "annab", "antud", "aru", "arv", "arvab", "arvan", "arvas", "arvates", "arvestades", "arvu", "asemel", "asi", "asja", "asjad", "asju", "asub", "auto", "autor", "avaliku", "avatud", "direktor", "dollari", "dollarit", "edasi", "edaspidi", "edu", "eelarve", "eelmise", "eelmisel", "ees", "eest", "ega", "ehk", "ehkki", "ei", "eile", "elab", "elu", "elus", "elust", "ema", "enam", "enamasti", "enamik", "end", "enda", "endale", "endast", "endine", "endiselt", "ennast", "enne", "ent", "eraldi", "eri", "eriti", "esialgu", "esimees", "esimene", "esimese", "esimesel", "esimeses", "esimest", "esindaja", "esitatud", "et", "ette", "euro", "eurot", "filmi", "firma", "hakanud", "hakata", "hakkab", "hakkama",
"hakkas", "hakkavad", "hea", "head", "heaks", "hetkel", "hiljem", "hiljuti", "hind", "hinna", "hinnad", "hinnangul", "hoida", "homme", "hommikul", "hooaja", "hoolimata", "hoone", "hoopis", "hulgas", "hulk", "hulka", "huvi", "idee", "iga", "igal", "ikka", "ikkagi", "ilma", "ilmselt", "inglise", "inimene", "inimese", "inimesed", "inimesi", "inimest", "inimeste", "inimestele", "isa", "ise", "isegi", "ja", "jaoks", "jne", "jooksul", "ju", "juba", "juhataja", "juhatuse", "juhi", "juht", "juhtus", "juhul", "just", "justkui", "juurde", "juures", "ka", "kaasa", "kahe", "kaheksa", "kahju", "kahjuks", "kaks", "kaotas", "kas", "kasutada", "kasv", "kasvab", "kasvanud", "kasvas", "kasvu", "kaua", "kaudu", "keda", "keegi", "keeles", "kel", "kell", "kella", "kelle", "kellel", "kellele", "kes", "keskmine", "keskmiselt", "kevadel", "kiire", "kiiresti", "kindel", "kindlasti", "kinni", "kinnisvara", "kinnitab", "kinnitas", "kinnitusel", "kirja", "kirjutab", "kirjutas", "kl", "klubi", "km", "kodu", "kodus", "kogu", "koguni", "koha", "kohal", "kohale", "kohaselt", "kohe", "koht", "kohta", "kohus",
"koju", "kokku", "kolm", "kolmanda", "kolmas", "kolme", "kommenteeris", "kooli", "koos", "kord", "korda", "korra", "korraga", "korral", "korras", "krooni", "kroonini", "kuhu", "kui", "kuid", "kuidagi", "kuidas", "kuigi", "kuigi", "kukkus", "kuna", "kunagi", "kuni", "kus", "kust", "kuu", "kuud", "kuulub", "kuuluvad", "kuus", "kvartali", "kvartalis", "laadida", "laenu", "lahti", "langenud", "langes", "laps", "lapse", "lapsed", "last", "laste", "lausa", "lausus", "leiab", "leida", "leidis", "leidnud", "lepingu", "ligi", "lihtne", "lihtsalt", "liiga", "liige", "linn", "linna", "linnapea", "linnas", "lisab", "lisaks", "lisaks", "lisas", "loe", "lood", "lubab", "lubas", "lugeda", "lugu", "luua", "ma", "maa", "maailma", "maailmas", "maha", "mail", "maja", "majandus", "majanduse", "maksab", "maksma", "maksta", "me", "meeldib", "meelest", "meenutab", "mees", "meest", "meeste", "meetri", "mehe", "mehed", "meid", "meie", "meil", "meile", "mida", "midagi", "miks", "mil", "miljardi", "miljardit", "miljoni", "miljonit", "millal", "mille", "millega", "millele", "milles", "millest", "milline",
"mina", "mind", "minema", "mingi", "mingit", "minna", "minu", "minutit", "mis", "mitmed", "mitte", "mitu", "mln", "mu", "muidu", "muidugi", "mul", "mulle", "mullu", "muu", "muud", "muusika", "muuta", "muutub", "muutunud", "nad", "nagu", "naine", "naise", "naised", "naiste", "natuke", "need", "neid", "neil", "neile", "neist", "neli", "nelja", "nemad", "nende", "nentis", "nii", "nime", "nimel", "nimi", "ning", "noored", "noorte", "ole", "oled", "oleks", "oleksid", "olema", "olemas", "oleme", "olen", "olete", "olevat", "olgu", "oli", "olid", "olin", "olla", "olnud", "olukord", "olukorda", "olukorras", "oluline", "oluliselt", "oma", "omakorda", "omanik", "ometi", "on", "ongi", "oodata", "ootab", "osa", "osakonna", "osas", "oska", "osta", "otsa", "otse", "otsus", "otsuse", "otsustas", "paar", "paari", "pakkuda", "pakub", "palju", "paljud", "pandud", "paneb", "panga", "pani", "pank", "panna", "parem", "paremini", "parim", "pea", "peaaegu", "peab", "peaks", "peaksid", "peal", "peale", "pealt", "peame", "peaminister", "peamiselt", "pean", "peatreener", "peavad", "peetakse", "pere",
"pidada", "pidanud", "pidas", "pidevalt", "pidi", "pigem", "piisavalt", "pikk", "pisut", "pole", "poleks", "politsei", "polnud", "pool", "poole", "poolest", "poolt", "praegu", "praegune", "praeguse", "presidendi", "president", "pressiesindaja", "probleem", "probleeme", "projekti", "protsendi", "protsenti", "puhul", "punkti", "puudub", "raha", "rahul", "rahva", "rahvas", "raske", "reedel", "riigi", "riigikogu", "riigis", "riik", "riikide", "ringi", "rohkem", "sa", "saa", "saab", "saad", "saada", "saadud", "saaks", "saama", "saame", "saanud", "saavad", "sageli", "sai", "said", "sain", "sama", "samal", "samal", "samas", "samuti", "seaduse", "seal", "sealt", "seas", "seda", "see", "seega", "seega", "seekord", "sees", "seisab", "seitse", "sekka", "sel", "selge", "selgelt", "selgitas", "selgub", "selgus", "selle", "sellega", "selleks", "sellel", "sellele", "selles", "sellest", "selline", "sellise", "sellised", "selliseid", "sellist", "seni", "seoses", "seotud", "sest", "siia", "siiani", "siin", "siis", "siiski", "silma", "sinna", "sinu", "sisse", "soovi", "soovib", "soovitab",
"suhteliselt", "suhtes", "summa", "surma", "suuda", "suudab", "suunas", "suur", "suure", "suured", "suurem", "suurema", "suuremat", "suuri", "suurim", "suurima", "suurt", "suutnud", "suvel", "ta", "taas", "taga", "tagasi", "taha", "tahab", "tahaks", "tal", "talle", "tasemel", "tasu", "tasuta", "tavaliselt", "te", "tea", "teab", "teada", "teatas", "teatel", "teatud", "teda", "tee", "teeb", "teed", "teel", "teema", "teemal", "teevad", "tegelikult", "tegema", "tegemist", "tegi", "tegu", "teha", "tehakse", "tehti", "tehtud", "teie", "teine", "teinud", "teise", "teised", "teisel", "teises", "teist", "teiste", "tekib", "tekkinud", "tema", "terve", "tihti", "tohi", "toimub", "toimunud", "toimus", "too", "toob", "tugev", "tule", "tuleb", "tuleks", "tulemus", "tulevad", "tulevikus", "tuli", "tulla", "tulnud", "tunda", "tundi", "tundub", "tunne", "tunnistab", "tunnistas", "tuntud", "turul", "tuua", "umbes", "uue", "uued", "uuesti", "uus", "uusi", "uut", "uute",
"vaadata", "vaatamata", "vaatamiseks", "vaba", "vahel", "vahele", "vahendab", "vahendas", "vahepealkiri", "vaid", "vaja", "vajab", "vajalik", "valitsus", "valitsuse", "vallas", "valmis", "vana", "vara", "varem", "vastas", "vastavalt", "vastu", "veel", "veelgi", "veidi", "vene", "viia", "viie", "viimane", "viimase", "viimasel", "viimastel", "viis", "vist",];
let parool = "";
function copyPwd() {
var el = document.createElement('textarea');
el.value = parool;
el.setAttribute('readonly', '');
el.style = {position: 'absolute', left: '-9999px'};
document.body.appendChild(el);
el.select();
document.execCommand('copy');
document.body.removeChild(el);
}
function genPwd() {
let words = [];
for (let i = 0; i < 4; i++) {
words.push(wordlist[Math.floor(Math.random() * wordlist.length)]);
}
parool = words.join("-");
showPwd();
}
function showPwd() {
document.getElementById("parool").innerText = parool;
}
genPwd();
</script>
</body>
</html>
@jtagcat
Copy link

jtagcat commented Oct 16, 2021

feature req: make parool = words.join("-"); user-configurable

@jtagcat
Copy link

jtagcat commented Oct 16, 2021

wordlist läheks lemma või eki scrabble, suurematega nimekirjadega probleemiks, et tulemus on peatumine kasumiindeks postmodernism kartus mrt-uuring vabavärss ühistunne koppel küünarliiges heinasaad kahjustuma ebasoodsam

todo: rand() asemel järjekord sõnaliigist, käänded ja pöörded (pruun karu ujus pehme puuga keldrisse, kolm hunti taunisid radiaatorit)
(arv-,) (omadus-,) (omadus-,) nimi-, tegu-, n=1-4 jms

ekilex on tore, aga ikkagi, oleks üsna mõõdukas tööhulk

@jtagcat
Copy link

jtagcat commented Oct 16, 2021

jfyi https://q.c7.ee/rabool provides hosting

@rebane2001
Copy link
Author

https://rebane2001.com/rabool-js/ also hosts this gist. I don't plan on making changes myself, but feel free to fork and link your modifications if you wish.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment