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": "uppskakad",
"noun1": "cigarrett",
"verb": "simmade"
},
"generated": "?UppskakadCigarrettSimmade3",
"analysis": {
"length": 27,
"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": "?UppskakadCigarrettSimmade3",
"guesses": 1.861861e+22,
"guesses_log10": 22.26994725495557,
"sequence": [
{
"password": "?UppskakadCigarrettSimmade3",
"begin": 0,
"end": 11,
"token": "?UppskakadCi",
"pattern": "bruteforce"
},
{
"password": "?UppskakadCigarrettSimmade3",
"begin": 12,
"end": 18,
"token": "garrett",
"pattern": "dictionary",
"dictionaryName": "surnames",
"rank": 217,
"matchedWord": "garrett",
"reversed": false,
"l33t": false
},
{
"password": "?UppskakadCigarrettSimmade3",
"begin": 19,
"end": 21,
"token": "Sim",
"pattern": "bruteforce"
},
{
"password": "?UppskakadCigarrettSimmade3",
"begin": 22,
"end": 25,
"token": "made",
"pattern": "dictionary",
"dictionaryName": "english_wikipedia",
"rank": 65,
"matchedWord": "made",
"reversed": false,
"l33t": false
},
{
"password": "?UppskakadCigarrettSimmade3",
"begin": 26,
"end": 26,
"token": "3",
"pattern": "bruteforce"
}
],
"crack_times_seconds": {
"online_throttling_100_per_hour": 6.702699600000001e+23,
"online_no_throttling_10_per_second": 1.861861e+21,
"offline_slow_hashing_1e4_per_second": 1.861861e+18,
"offline_fast_hashing_1e10_per_second": 1861861000000
},
"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.013046979904174805
},
"entropy": {
"value": 176.9738989952962,
"size_of_pool": 94,
"length": 27,
"score": 4
},
"breached": {
"breached": false,
"count": "101",
"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 176 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.