Hoppa till huvudinnehållet
Kodgeneratorn

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 Parametrar
{
  "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.

Svar JSON
{
    "source": {
        "adjective1": "angränsande",
        "noun1": "fax",
        "verb": "smickrade"
    },
    "generated": "%AngränsandeFaxSmickrade8",
    "analysis": {
        "length": 25,
        "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": "%AngränsandeFaxSmickrade8",
            "guesses": 1.308e+24,
            "guesses_log10": 24.116607743988247,
            "sequence": [
                {
                    "password": "%AngränsandeFaxSmickrade8",
                    "begin": 0,
                    "end": 7,
                    "token": "%Angräns",
                    "pattern": "bruteforce"
                },
                {
                    "password": "%AngränsandeFaxSmickrade8",
                    "begin": 8,
                    "end": 11,
                    "token": "ande",
                    "pattern": "dictionary",
                    "dictionaryName": "female_names",
                    "rank": 109,
                    "matchedWord": "edna",
                    "reversed": true,
                    "l33t": false
                },
                {
                    "password": "%AngränsandeFaxSmickrade8",
                    "begin": 12,
                    "end": 24,
                    "token": "FaxSmickrade8",
                    "pattern": "bruteforce"
                }
            ],
            "crack_times_seconds": {
                "online_throttling_100_per_hour": 4.7088e+25,
                "online_no_throttling_10_per_second": 1.308e+23,
                "offline_slow_hashing_1e4_per_second": 1.3080000000000002e+20,
                "offline_fast_hashing_1e10_per_second": 130800000000000.02
            },
            "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.016057968139648438
        },
        "entropy": {
            "value": 37.11153304705794,
            "size_of_pool": 94,
            "possible_passwords": 148485700530,
            "length": 25,
            "score": 4,
            "method": "generator"
        },
        "breached": {
            "breached": false,
            "count": 0,
            "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 37 bitar."
        }
    }
}

analysis.entropy beskriver hur svårt lösenordet är att gissa: value är antalet bitar, possible_passwords antalet möjliga lösenord (högst 9 007 199 254 740 991, även om det finns fler), size_of_pool antalet tecken i de teckengrupper som lösenordet innehåller och score ett betyg från 0 till 4. method är generator när styrkan räknas utifrån de val som gjordes vid genereringen, och dictionary när ett godtyckligt lösenord analyseras och svenska ord känns igen ur ordlistorna.

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.