I denna övning ska du bygga en lösenordsgenerator med flera nivåer.
Skapa en enklare lösenordsgenerator i form av en function passwordGenerator(length)
där enda argumentet är längd på lösenordet.
Funktionen ska returnera ett slumpat lösenord som visas på skärmen.
Du får inte använda dig av regex.
Se till att din lösenordsgenerator genererar lösenord som uppfyller följande krav:
- Minst 10 tecken
- En siffra
- En stor bokstav
- En liten bokstav
- En specialkaraktär(!"#$%&'()*+,-./:;<=>?@[]^{|})
Du får inte använda dig av regex.
Gör en sökning med hjälp av Have I Been Pwned Password API om det genererade lösenordet har läkt ut från någon databas. Ifall en träff hittas ska ett nytt lösenord genereras och samma sökning ska ske en gång till. Processen upprepas tills du får ett lösenord som inte har läckt ut.
API: https://haveibeenpwned.com/API/v3#SearchingPwnedPasswordsByRange
För att kunna använda API:et behöver hasha det genererade lösenordet med SHA-1. För att göra detta använd nedanstående npm-modul som heter js-sha1
och för att kunna använda npm-moduler i vanilla JS så behöver du kunna bundla ditt javascript och då kan du använda browserify.
Browersify: http://browserify.org/