action arespass_get_ec { label: "The entropy calculator - alias ec -, analyzes a password and calculates its entropy.\n\nEntropy calculator requests are billed.\n" provider: arespass method: GET path: "/ec" encoding: json input: { type: "object" properties: { outputFormat: { type: "string" } password: { type: "string" } penalty: { type: "number" } reqId: { type: "string" } } required: ["password"] additionalProperties: false } output: { type: "object" properties: { alphabetSequence: { type: "array" 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: { type: "object" properties: { char: { type: "string" description: "The n-th character." } l33tchar: { type: "string" description: "The n-th character after the l33t transformation." } penalty: { type: "number" 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" } } } } apiVersion: { type: "string" description: "**This API version number.**\n" } detectedKeyboard: { type: "string" description: "**The detected keyboard, QWERTY or Dvorak.**\n" } efficiency: { type: "number" description: "**The ratio entropy / idealEntropy.**\n\nIt is a float number in the range [0, 1].\n" } entropy: { type: "number" description: "**The entropy calculated for the input password.**\n\nIt is measured in bits.\n" } entropyDistribution: { type: "array" description: "**The distribution of the calculated entropy among the password characters.**\n" items: { type: "object" properties: { char: { type: "string" description: "The n-th character." } l33tchar: { type: "string" description: "The n-th character after the l33t transformation." } percentage: { type: "number" description: "The amount of entropy contributed by this character, expressed as percentage of the total." } } } } idealEntropy: { type: "number" 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" } keyboardSequence: { type: "array" 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: { type: "object" properties: { char: { type: "string" description: "The n-th character." } l33tchar: { type: "string" description: "The n-th character after the l33t transformation." } penalty: { type: "number" 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" } } } } l33tPassword: { type: "string" description: "The analyzed password after the l33t substitution." } nonUniformEntropyDistributionPenalty: { type: "number" 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" } numberSequence: { type: "array" 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: { type: "object" properties: { char: { type: "string" description: "The n-th character." } l33tchar: { type: "string" description: "The n-th character after the l33t transformation." } penalty: { type: "number" 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" } } } } password: { type: "string" description: "The analyzed password." } passwordLength: { type: "integer" description: "The number of characters the password has." } penalty: { type: "number" 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" } repeatedChars: { type: "array" 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: { type: "object" properties: { char: { type: "string" description: "The n-th character." } l33tchar: { type: "string" description: "The n-th character after the l33t transformation." } penalty: { type: "number" 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" } } } } requestId: { type: "string" description: "**The identifier of the request that corresponds to this response.**\n" } requestTimestamp: { type: "number" description: "**The timestamp for this response.**\n\nMilliseconds from the epoch of 1970-01-01T00:00:00Z.\n" } summary: { type: "array" items: { type: "string" description: "**A human-readable summary of the password analysis.**\n\nThis human readable summary is not intended to be parsed.\n" } } total: { type: "array" 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: { type: "object" properties: { char: { type: "string" description: "The n-th character." } l33tchar: { type: "string" description: "The n-th character after the l33t transformation." } penalty: { type: "number" 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" } } } } words: { type: "array" 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: { type: "object" properties: { char: { type: "string" description: "The n-th character." } l33tchar: { type: "string" description: "The n-th character after the l33t transformation." } penalty: { type: "number" 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" } } } } } } }