API-dokumentation
Så, hur använder du API:et? Enkelt, gör bara ett GET-anrop till https://kodgeneratorn.se/api/generate (eller besök url:en via browsern) för att generera lösenord.
GET: https://kodgeneratorn.se/api/generate
{
"number_of_words": int,
"capitalize": false|"word"|"random",
"numbers": false|"start"|"end"|"random",
"number_of_numbers": int,
"special_chars": false|"start"|"end"|"between"|"random",
"number_of_special_chars": int,
"swedish_chars": bool
}
Responsen från API:et ser ut som nedan.
{
"source": {
"adjective1": "rama",
"noun1": "person",
"verb": "förtalade"
},
"generated": "%RamaPersonFörtalade1",
"analysis": {
"length": 22,
"strength_explanations": {
"0": {
"header": "Svagt och väldigt lättgissat!",
"body": "Det finns med stor sannolikhet i ordböcker som används vid ordboksattacker. Styrkan är %d\/4 och entropin är %d bitar."
},
"1": {
"header": "Lättgissat!",
"body": "Liknande lösenord finns i ordböcker som används vid ordboksattacker. Styrkan är %d\/4 och entropin är %d bitar."
},
"2": {
"header": "Gissningsbart!",
"body": "Ger visst skydd vid ohämmade attacker. Styrkan är %d\/4 och entropin är %d bitar."
},
"3": {
"header": "Omöjligt att gissa!",
"body": "Erbjuder måttligt skydd från offline slow-hash-scenarion. Styrkan är %d\/4 och entropin är %d bitar."
},
"4": {
"header": "Galet starkt!",
"body": "Omöjligt att gissa och ger ett starkt skydd mot offline slow-hash scenarion. Styrkan är %d\/4 och entropin är %d bitar."
},
"breached": {
"header": "Varning!",
"body": "Det här lösenordet har dykt upp i läckor %d gånger"
}
},
"zxcvbn": {
"password": "%RamaPersonFörtalade1",
"guesses": 3.1800000001e+18,
"guesses_log10": 18.50242711999809,
"sequence": [
{
"password": "%RamaPersonFörtalade1",
"begin": 0,
"end": 4,
"token": "%Rama",
"pattern": "bruteforce"
},
{
"password": "%RamaPersonFörtalade1",
"begin": 5,
"end": 10,
"token": "Person",
"pattern": "dictionary",
"dictionaryName": "us_tv_and_film",
"rank": 265,
"matchedWord": "person",
"reversed": false,
"l33t": false
},
{
"password": "%RamaPersonFörtalade1",
"begin": 11,
"end": 20,
"token": "Förtalade1",
"pattern": "bruteforce"
}
],
"crack_times_seconds": {
"online_throttling_100_per_hour": 1.1448000000359999e+20,
"online_no_throttling_10_per_second": 3.1800000001e+17,
"offline_slow_hashing_1e4_per_second": 318000000010000,
"offline_fast_hashing_1e10_per_second": 318000000.01
},
"crack_times_display": {
"online_throttling_100_per_hour": "centuries",
"online_no_throttling_10_per_second": "centuries",
"offline_slow_hashing_1e4_per_second": "centuries",
"offline_fast_hashing_1e10_per_second": "10 years"
},
"score": 4,
"feedback": {
"warning": "",
"suggestions": []
},
"calc_time": 0.01935601234436035
},
"entropy": {
"value": 144.20095473690802,
"size_of_pool": 94,
"length": 22,
"score": 4
},
"breached": {
"breached": false,
"count": "15",
"error": false
},
"strength_explanation": {
"header": "Galet starkt!",
"body": "Omöjligt att gissa och ger ett starkt skydd mot offline slow-hash scenarion. Styrkan är 4\/4 och entropin är 144 bitar."
}
}
}
Om något inte är tydligt, eller om du har förslag på förbättringar så är det bara att du hör av dig.