Arespass icon

Arespass

Analyzes a password and calculates its entropy

COMMUNITYNO AUTH0 INSTALLS
OpenAPI Specificationv3.0
{
  "openapi": "3.0.0",
  "servers": [
    {
      "url": "http://arespass.net/v1.0"
    }
  ],
  "info": {
    "description": "Analyzes a password and calculates its entropy.",
    "title": "Arespass",
    "version": "1.0",
    "x-origin": [
      {
        "format": "openapi",
        "url": "https://arespass.net/assets/arespassv1.0-openapi.yaml",
        "version": "3.0"
      }
    ],
    "x-providerName": "arespass.net",
    "x-logo": {
      "url": "https://api.apis.guru/v2/cache/logo/https_apis.guru_assets_images_no-logo.svg"
    }
  },
  "paths": {
    "/about": {
      "get": {
        "parameters": [
          {
            "description": "**The format of the returned metadata.**\n\nAllowed values are *json*, *xml* and *yaml*.\n\nThe default value is *xml*.\n",
            "in": "query",
            "name": "outputFormat",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/about"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/about"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/about"
                }
              }
            },
            "description": "**The metadata about this API: version number, release date and available languages.**\n"
          },
          "400": {
            "description": "**At least one error was found in the request parameters.**\n"
          },
          "405": {
            "description": "**HTTP method POST is not allowed.**\n"
          },
          "500": {
            "description": "**Unexpected server error.**                \n"
          }
        },
        "summary": "Metadata about this API: version number, release date and available languages.\n\nMetadata requests are NOT billed.\n"
      }
    },
    "/ec": {
      "get": {
        "parameters": [
          {
            "description": "**The password to be analyzed.**\n\nMinimum length is 4 characters; maximum length is 128 characters.\n\nBeware that certain characters like '#', '=' or '?' must be properly encoded.\n\nFor more information about this issue, please refer to RFC 3986 (\"*Uniform Resource Identifier (URI): Generic Syntax*\"), sections 2.1, 2.2 and 2.4.\n",
            "in": "query",
            "name": "password",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "**The format of the returned analysis.**\n\nAllowed values are *json*, *xml* and *yaml*.\n\nThe default value is *xml*.\n",
            "in": "query",
            "name": "outputFormat",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "**The penalty applied to each character that is part of a word, number sequence, alphabet sequence, etc.**\n\nThe penalty is a float number in the range [0, 1]. Full penalty, 0; no penalty, 1.\n\nThe character used as decimal separator is always '.'. Hence, a parameter value like *0,33* would be illegal.\n\nThe default value is *0.25*.\n",
            "in": "query",
            "name": "penalty",
            "required": false,
            "schema": {
              "type": "number"
            }
          },
          {
            "description": "**An identifier for this request.**\n\nThe request identifier is a string that must match the regular expression */(?i)^[a-z0-9]{8,16}$/*.\n\nThis identifier is echoed in the returned response. Its value has no effect on the password analysis.\n\nIf this parameter is unset, a randomly generated identifier will be automatically assigned to this request.\n",
            "in": "query",
            "name": "reqId",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ec"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/ec"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ec"
                }
              }
            },
            "description": "The password analysis, including the calculated entropy."
          },
          "400": {
            "description": "**At least one error was found in the request parameters.**\n"
          },
          "405": {
            "description": "**HTTP method POST is not allowed.**\n"
          },
          "500": {
            "description": "**Unexpected server error.**\n"
          }
        },
        "summary": "The entropy calculator - alias ec -, analyzes a password and calculates its entropy.\n\nEntropy calculator requests are billed.\n"
      }
    }
  },
  "components": {
    "schemas": {
      "about": {
        "description": "**This API version number**.\n",
        "properties": {
          "apiReleaseDateIso8601": {
            "description": "**The release date of this API, ISO 8601 format.**\n",
            "type": "string"
          },
          "apiVersion": {
            "properties": {
              "majorNumber": {
                "description": "This API version major number.",
                "type": "integer",
                "xml": {
                  "attribute": true
                }
              },
              "minorNumber": {
                "description": "This API version minor number.",
                "type": "integer",
                "xml": {
                  "attribute": true
                }
              }
            },
            "type": "object"
          },
          "availableLanguagesIso639_1": {
            "description": "**The list of available languages.**\n\nEach language is identified by its ISO 639-1, two-letter code.\n\nThe list elements are comma-separated and sorted in ascending order.\n",
            "type": "string"
          }
        },
        "type": "object"
      },
      "ec": {
        "properties": {
          "alphabetSequence": {
            "description": "**The penalty applied to each character that has been found to be part of an alphabet sequence.**\n\nThe penalty is a float number in the range [0, 1]. Full penalty, 0; no penalty, 1.\n",
            "items": {
              "properties": {
                "char": {
                  "description": "The n-th character.",
                  "type": "string",
                  "xml": {
                    "attribute": true
                  }
                },
                "l33tchar": {
                  "description": "The n-th character after the l33t transformation.",
                  "type": "string",
                  "xml": {
                    "attribute": true
                  }
                },
                "penalty": {
                  "description": "The penalty applied to this character if it is part of an alphabet sequence.\n\nThe penalty is a float number in the range [0, 1]. Full penalty, 0; no penalty, 1.\n",
                  "type": "number",
                  "xml": {
                    "attribute": true
                  }
                }
              },
              "type": "object"
            },
            "type": "array"
          },
          "apiVersion": {
            "description": "**This API version number.**\n",
            "type": "string"
          },
          "detectedKeyboard": {
            "description": "**The detected keyboard, QWERTY or Dvorak.**\n",
            "type": "string"
          },
          "efficiency": {
            "description": "**The ratio entropy / idealEntropy.**\n\nIt is a float number in the range [0, 1].\n",
            "type": "number"
          },
          "entropy": {
            "description": "**The entropy calculated for the input password.**\n\nIt is measured in bits.\n",
            "type": "number"
          },
          "entropyDistribution": {
            "description": "**The distribution of the calculated entropy among the password characters.**\n",
            "items": {
              "properties": {
                "char": {
                  "description": "The n-th character.",
                  "type": "string",
                  "xml": {
                    "attribute": true
                  }
                },
                "l33tchar": {
                  "description": "The n-th character after the l33t transformation.",
                  "type": "string",
                  "xml": {
                    "attribute": true
                  }
                },
                "percentage": {
                  "description": "The amount of entropy contributed by this character, expressed as percentage of the total.",
                  "type": "number",
                  "xml": {
                    "attribute": true
                  }
                }
              },
              "type": "object"
            },
            "type": "array"
          },
          "idealEntropy": {
            "description": "**The Shannon entropy.**\n\nThe Shannon entropy is the entropy calculated if no penalizations - words, number sequence, alphabet sequence, etc - were found in the password.\n\nIt is measured in bits.\n",
            "type": "number"
          },
          "keyboardSequence": {
            "description": "**The penalty applied to each character that has been found to be part of a keyboard sequence.**\n\nThe penalty is a float number in the range [0, 1]. Full penalty, 0; no penalty, 1.\n",
            "items": {
              "properties": {
                "char": {
                  "description": "The n-th character.",
                  "type": "string",
                  "xml": {
                    "attribute": true
                  }
                },
                "l33tchar": {
                  "description": "The n-th character after the l33t transformation.",
                  "type": "string",
                  "xml": {
                    "attribute": true
                  }
                },
                "penalty": {
                  "description": "The penalty applied to this character if it is part of a keyboard sequence.\n\nThe penalty is a float number in the range [0, 1]. Full penalty, 0; no penalty, 1.\n",
                  "type": "number",
                  "xml": {
                    "attribute": true
                  }
                }
              },
              "type": "object"
            },
            "type": "array"
          },
          "l33tPassword": {
            "description": "The analyzed password after the l33t substitution.",
            "type": "string"
          },
          "nonUniformEntropyDistributionPenalty": {
            "description": "**The penalty applied to the whole password because of irregular entropy distribution.**\n\nThis penalty is a float number in the range [0, 1]. Full penalty, 0; no penalty, 1.\n",
            "type": "number"
          },
          "numberSequence": {
            "description": "**The penalty applied to each character that has been found to be part of a number sequence.**\n\nThe penalty is a float number in the range [0, 1]. Full penalty, 0; no penalty, 1.\n",
            "items": {
              "properties": {
                "char": {
                  "description": "The n-th character.",
                  "type": "string",
                  "xml": {
                    "attribute": true
                  }
                },
                "l33tchar": {
                  "description": "The n-th character after the l33t transformation.",
                  "type": "string",
                  "xml": {
                    "attribute": true
                  }
                },
                "penalty": {
                  "description": "The penalty applied to this character if it is part of a number sequence.\n\nThe penalty is a float number in the range [0, 1]. Full penalty, 0; no penalty, 1.\n",
                  "type": "number",
                  "xml": {
                    "attribute": true
                  }
                }
              },
              "type": "object"
            },
            "type": "array"
          },
          "password": {
            "description": "The analyzed password.",
            "type": "string"
          },
          "passwordLength": {
            "description": "The number of characters the password has.",
            "type": "integer"
          },
          "penalty": {
            "description": "**The penalty applied to each character that has been found to be part of a word, number sequence, alphabet sequence, etc.**\n\nThe penalty is a float number in the range [0, 1]. Full penalty, 0; no penalty, 1.\n\nIts value is equal to the value of the input parameter *penalty*.\n",
            "type": "number"
          },
          "repeatedChars": {
            "description": "**The penalty applied to each character that are repeated**\n\nThe penalty is a float number in the range [0, 1]. Full penalty, 0; no penalty, 1.          \n",
            "items": {
              "properties": {
                "char": {
                  "description": "The n-th character.",
                  "type": "string",
                  "xml": {
                    "attribute": true
                  }
                },
                "l33tchar": {
                  "description": "The n-th character after the l33t transformation.",
                  "type": "string",
                  "xml": {
                    "attribute": true
                  }
                },
                "penalty": {
                  "description": "The penalty applied to this character if it is repeated.\n\nThe penalty is a float number in the range [0, 1]. Full penalty, 0; no penalty, 1.\n",
                  "type": "number",
                  "xml": {
                    "attribute": true
                  }
                }
              },
              "type": "object"
            },
            "type": "array"
          },
          "requestId": {
            "description": "**The identifier of the request that corresponds to this response.**\n",
            "type": "string"
          },
          "requestTimestamp": {
            "description": "**The timestamp for this response.**\n\nMilliseconds from the epoch of 1970-01-01T00:00:00Z.\n",
            "type": "number"
          },
          "summary": {
            "items": {
              "description": "**A human-readable summary of the password analysis.**\n\nThis human readable summary is not intended to be parsed.\n",
              "type": "string"
            },
            "type": "array"
          },
          "total": {
            "description": "**The total penalty applied to each character.**\n\nThe penalty is a float number in the range [0, 1]. Full penalty, 0; no penalty, 1.\n",
            "items": {
              "properties": {
                "char": {
                  "description": "The n-th character.",
                  "type": "string",
                  "xml": {
                    "attribute": true
                  }
                },
                "l33tchar": {
                  "description": "The n-th character after the l33t transformation.",
                  "type": "string",
                  "xml": {
                    "attribute": true
                  }
                },
                "penalty": {
                  "description": "The total penalty applied to each character.\n\nThe penalty is a float number in the range [0, 1]. Full penalty, 0; no penalty, 1.                \n",
                  "type": "number",
                  "xml": {
                    "attribute": true
                  }
                }
              },
              "type": "object"
            },
            "type": "array"
          },
          "words": {
            "description": "**The penalty applied to each character that has been found to be part of a word.**\n\nThe penalty is a float number in the range [0, 1]. Full penalty, 0; no penalty, 1.\n",
            "items": {
              "properties": {
                "char": {
                  "description": "The n-th character.",
                  "type": "string",
                  "xml": {
                    "attribute": true
                  }
                },
                "l33tchar": {
                  "description": "The n-th character after the l33t transformation.",
                  "type": "string",
                  "xml": {
                    "attribute": true
                  }
                },
                "penalty": {
                  "description": "The penalty applied to this character if it is part of a word.\n\nThe penalty is a float number in the range [0, 1]. Full penalty, 0; no penalty, 1.                \n",
                  "type": "number",
                  "xml": {
                    "attribute": true
                  }
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object"
      }
    }
  }
}