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"|"first"|"last"|"random",
"numbers": false|"start"|"end"|"between"|"random",
"number_of_numbers": int,
"special_chars": false|"start"|"end"|"between"|"random",
"number_of_special_chars": int,
"use_swedish_chars": bool
}
Om du utelämnar en parameter används standardvärdet, t.ex. en siffra i slutet och ett specialtecken i början. Skicka false för att explicit stänga av en funktion. Om du vill ha ett lösenord helt utan siffror skickar du "numbers": false, och på samma sätt för capitalize och special_chars.
Responsen från API:et ser ut som nedan.
{
"source": {
"adjective1": "fåfäng",
"noun1": "matta",
"verb": "väntade"
},
"generated": "!FåfängMattaVäntade0",
"analysis": {
"length": 23,
"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": "!FåfängMattaVäntade0",
"guesses": 3.52800000001e+19,
"guesses_log10": 19.547528576461012,
"sequence": [
{
"password": "!FåfängMattaVäntade0",
"begin": 0,
"end": 6,
"token": "!Fåfäng",
"pattern": "bruteforce"
},
{
"password": "!FåfängMattaVäntade0",
"begin": 7,
"end": 10,
"token": "Matt",
"pattern": "dictionary",
"dictionaryName": "male_names",
"rank": 294,
"matchedWord": "matt",
"reversed": false,
"l33t": false
},
{
"password": "!FåfängMattaVäntade0",
"begin": 11,
"end": 19,
"token": "aVäntade0",
"pattern": "bruteforce"
}
],
"crack_times_seconds": {
"online_throttling_100_per_hour": 1.2700800000036e+21,
"online_no_throttling_10_per_second": 3.52800000001e+18,
"offline_slow_hashing_1e4_per_second": 3528000000010000,
"offline_fast_hashing_1e10_per_second": 3528000000.0099998
},
"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": "centuries"
},
"score": 4,
"feedback": {
"warning": "",
"suggestions": []
},
"calc_time": 0.01341700553894043
},
"entropy": {
"value": 150.75554358858565,
"size_of_pool": 94,
"length": 23,
"score": 4
},
"breached": {
"breached": false,
"count": "9",
"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 150 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.