checkCrypt()
Compares a plain text with an encrypted hash value and checks if the text matches the decrypted value of the hash.
Synopsis
bool checkCrypt(string text, string hash);
Parameters
Parameter | Meaning |
---|---|
text | Text to be compared to the hash. |
hash | The hashed value of a text (regardless of the hash version). |
Return Value
The return value is true if the text matches the hash and otherwise false.
Description
The function checkCrypt() proves whether the hashed text (using the same salt as in
the hash parameter) is equal to the hash given as second parameter and so checks the
validity of the text. It is normally (but not only) used to store passwords
irreversibly.
Important: This function only works for hash
formats of versions 3 and 4.
The example compares the equality of the passwords with the hash value. The return value is true if the text matches the hash and otherwise false.
{main(mapping event)
{
int iter;
string retHashedPw;
retHashedPw = crypt("MYPERSONALPASSWORT",4, iter);
DebugN(retHashedPw);
bool checkPw, checkPw1;
checkPw = checkCrypt("MYPERSONALPASSWORT_NEW", retHashedPw);
DebugN("The return value is true if the text matches the hash and otherwise false:", checkPw);
checkPw1 = checkCrypt("MYPERSONALPASSWORT", retHashedPw);
DebugN("The return value is true if the text matches the hash and otherwise false:", checkPw1);
}
The output of the code:
WCCOAui1:["#PBKDF2#SHA256#lGracFq+TrqjVICkdDO0sqcxpZ7vOszLJWLDYfF+sKs=#1#qi4Hnh0Nfjq/nqDTwbwCMR0w+4yARJyphlKR7jw8bzQ="]
WCCOAui1:["The return value is true if the text matches the hash and otherwise false:"][FALSE]
WCCOAui1:["The return value is true if the text matches the hash and otherwise false:"][TRUE]
The output format | ||
---|---|---|
part 1 |
function |
"PBKDF2" |
part 2 | algorithm |
"SHA256" |
part 3 | salt |
(32 bytes) |
part 4 |
iterations |
|
part 5 | hash result |
(32 bytes) |
For format details, see also Wikipedia.
Assignment
Miscellaneous functionsAvailability
CTRL