Skip to main content

Cryptographic Hashing Algorithms

A cryptographic hashing function is a class of hash function that has properties which make it suitable for use in cryptography. The hash function is a mathematical algorithm that maps data of arbitrary size to a bit string of a fixed size (a hash) and is designed to be a one-way function, that is, a function which is infeasible to invert.

LoginRadius Platform uses these cryptographic hash algorithms to store sensitive data such as password, security questions, etc. into the cloud database. It provides highest level of security on the critical data points.

How hashing is applied

List of most common Cryptographic Hash Algorithms:

Algorithm NameRelease YearReference
MD51992RFC1321
PBKDF22000RFC2898
SHA-11995RFC3174
SHA-2562002RFC4634
SHA-5122002RFC4634
SHA-3842002RFC4634
SHA-2242004RFC3874

LoginRadius supports the following one-way hashing algorithms:

  1. Argon2i
  2. Argon2id
  3. Crypt_MD5
  4. HMAC_SHA1
  5. MD5
  6. MD5 [Drupal-6]
  7. MD5 [Magento]
  8. PBKDF2
  9. PHPass
  10. PHPass [Wordpress]
  11. SHA-1
  12. SHA1PasswordPBKDF2
  13. SHA-256
  14. SHA-512
  15. SHA-512 [Drupal-7]
  16. HMAC_SHA-256
  17. HMAC_SHA256_BitEncrypted
  18. NT Hash

Detailed Technical information for each Hashing Algorithm:

Hash AlgorithmSalt TypeAttached Salt TypeApplied Algorithm and Generated HashNumber of Iterations
Argon2iN/AN/AN/A2
Argon2idN/AN/AN/A2
Crypt_MD5UniversalNone$hash=Crypt_MD5[P]N/A
Crypt_MD5UniversalAppend$hash=Crypt_MD5[P+S]N/A
Crypt_MD5UniversalPrepend$hash=Crypt_MD5[S+P]N/A
Crypt_MD5User per passwordNone$hash=[Crypt_MD5[P]]:RSN/A
Crypt_MD5User per passwordAppend$hash=[Crypt_MD5[P+RS]]:RSN/A
Crypt_MD5User per passwordPrepend$hash=[Crypt_MD5[RS+P]]:RSN/A
HMAC_SHA1UniversalNone$hash = HMAC_SHA1[P,S]N/A
HMAC_SHA1UniversalAppend$hash = HMAC_SHA1[P+S,S]N/A
HMAC_SHA1UniversalPrepend$hash = HMAC_SHA1[S+P,S]N/A
HMAC_SHA1User per passwordNone$hash = [HMAC_SHA1[P,RS]]:RSN/A
HMAC_SHA1User per passwordAppend$hash = [HMAC_SHA1[P+RS,RS]]:RSN/A
HMAC_SHA1User per passwordPrepend$hash = [HMAC_SHA1[RS+P,RS]]:RSN/A
MD5UniversalNone$hash = MD5[P]N/A
MD5UniversalAppend$hash = MD5[P+S]N/A
MD5UniversalPrepend$hash = MD5[S+P]N/A
MD5User per passwordNone$hash = MD5[P]:RSN/A
MD5User per passwordAppend$hash = [MD5[P+RS]]:RSN/A
MD5User per passwordPrepend$hash = [MD5[RS+P]]:RSN/A
PBKDF2UniversalNone$hash = PBKDF2[P]Number (Can be adjusted)
PBKDF2UniversalAppend$hash = PBKDF2[P+S]Number (Can be adjusted)
PBKDF2UniversalPrepend$hash = PBKDF2[S+P]Number (Can be adjusted)
PBKDF2User per passwordNone$hash = [PBKDF2[P]]:RSNumber (Can be adjusted)
PBKDF2User per passwordAppend$hash = [PBKDF2[P+RS]]:RSNumber (Can be adjusted)
PBKDF2User per passwordPrepend$hash = [PBKDF2[RS+P]]:RSNumber (Can be adjusted)
PHPassUniversalNone$hash = PHPass[P]N/A
PHPassUniversalAppend$hash = PHPass[P+S]N/A
PHPassUniversalPrepend$hash = PHPass[S+P]N/A
PHPassUser per passwordNone$hash = PHPass[P]:RSN/A
PHPassUser per passwordAppend$hash = [PHPass[P+RS]]:RSN/A
PHPassUser per passwordPrepend$hash = [PHPass[RS+P]]:RSN/A
SHA1UniversalNone$hash=SHA1[P]N/A
SHA1UniversalAppend$hash=SHA1[P+S]N/A
SHA1UniversalPrepend$hash=SHA1[S+P]N/A
SHA1User per passwordNone$hash=[SHA1[P]]:RSN/A
SHA1User per passwordAppend$hash=[SHA1[P+RS]]:RSN/A
SHA1User per passwordPrepend$hash=[SHA1[RS+P]]:RSN/A
SHA256UniversalNone$hash = SHA256[P]N/A
SHA256UniversalAppend$hash = SHA256[P+S]N/A
SHA256UniversalPrepend$hash = SHA256[S+P]N/A
SHA256User per passwordNone$hash = [SHA256[P]]:RSN/A
SHA256User per passwordAppend$hash = [SHA256[P+RS]]:RSN/A
SHA256User per passwordPrepend$hash = [SHA256[RS+P]]:RSN/A
SHA512UniversalNone$hash = SHA512[P]N/A
SHA512UniversalAppend$hash = SHA512[P+S]N/A
SHA512UniversalPrepend$hash = SHA512[S+P]N/A
SHA512User per passwordNone$hash = [SHA512[P]]:RSN/A
SHA512User per passwordAppend$hash = [SHA512[P+RS]]:RSN/A
SHA512User per passwordPrepend$hash = [SHA512[RS+P]]:RSN/A
SHA-512 [Drupal-7]UniversalNone$hash=Drupal7[P]N/A
SHA-512 [Drupal-7]UniversalAppend$hash=Drupal7[P+S]N/A
SHA-512 [Drupal-7]UniversalPrepend$hash=Drupal7[S+P]N/A
SHA-512 [Drupal-7]User per passwordNone$hash=[Drupal7[P]]:RSN/A
SHA-512 [Drupal-7]User per passwordAppend$hash=[Drupal7[P+RS]]:RSN/A
SHA-512 [Drupal-7]User per passwordPrepend$hash=[Drupal7[RS+P]]:RSN/A
HMAC_SHA256UniversalNone$hash = HMAC_SHA256[P,S]N/A
HMAC_SHA256UniversalAppend$hash = HMAC_SHA256[P+S,S]N/A
HMAC_SHA256UniversalPrepend$hash = HMAC_SHA256[S+P,S]N/A
HMAC_SHA256User per passwordNone$hash = [HMAC_SHA256[P,RS]]:RSN/A
HMAC_SHA256User per passwordAppend$hash = [HMAC_SHA256[P+RS,RS]]:RSN/A
HMAC_SHA256User per passwordPrepend$hash = [HMAC_SHA256[RS+P,RS]]:RSN/A
HMAC_SHA256_BitEncryptedUniversalNone$hash = HMAC_SHA256_BitEncrypted[P,S]N/A
HMAC_SHA256_BitEncryptedUniversalAppend$hash = HMAC_SHA256_BitEncrypted[P+S,S]N/A
HMAC_SHA256_BitEncryptedUniversalPrepend$hash = HMAC_SHA256_BitEncrypted[S+P,S]N/A
HMAC_SHA256_BitEncryptedUser per passwordNone$hash = [HMAC_SHA256_BitEncrypted[P,RS]]:RSN/A
HMAC_SHA256_BitEncryptedUser per passwordAppend$hash = [HMAC_SHA256_BitEncrypted[P+RS,RS]]:RSN/A
HMAC_SHA256_BitEncryptedUser per passwordPrepend$hash = [HMAC_SHA256_BitEncrypted[RS+P,RS]]:RSN/A
SHA1PasswordPBKDF2UniversalNone$hash=SHA1PasswordPBKDF2[P]Number (Can be adjusted)
SHA1PasswordPBKDF2UniversalAppend$hash=SHA1PasswordPBKDF2[P+S]Number (Can be adjusted)
SHA1PasswordPBKDF2UniversalPrepend$hash=SHA1PasswordPBKDF2[S+P]Number (Can be adjusted)
SHA1PasswordPBKDF2User per passwordNone$hash=[SHA1PasswordPBKDF2[P]]:RSNumber (Can be adjusted)
SHA1PasswordPBKDF2User per passwordAppend$hash=[SHA1PasswordPBKDF2[P+RS]]:RSNumber (Can be adjusted)
SHA1PasswordPBKDF2User per passwordPrepend$hash=[SHA1PasswordPBKDF2[RS+P]]:RSNumber (Can be adjusted)
NT HashNoneNone$hash = NT[P]N/A

Password -> P, Salt -> S, Per user Salt -> RS Contact LoginRadius support to configure the desired algorithm for your account.