diff options
Diffstat (limited to 'PasswordCrypt.h')
-rw-r--r-- | PasswordCrypt.h | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/PasswordCrypt.h b/PasswordCrypt.h new file mode 100644 index 00000000..b726f320 --- /dev/null +++ b/PasswordCrypt.h @@ -0,0 +1,27 @@ +#ifndef __PASSWORD_CRYPT_H__ +#define __PASSWORD_CRYPT_H__ + +enum HashMethod { + TRADITIONAL_DES = 0, + EXTEND_BSDI_DES, + MD5_BASED, + SHA256_BASED, + SHA512_BASED, + BLOWFISH_BASED +}; + +typedef struct { + UINT16 method; + UINT64 iter_count; + UINT16 salt_size; + UINT8 salt[32]; + UINT8 hash[128]; +} __attribute__ ((packed)) PASSWORD_CRYPT; + +#define PASSWORD_CRYPT_SIZE sizeof(PASSWORD_CRYPT) + +EFI_STATUS password_crypt (const char *password, UINT32 pw_length, + const PASSWORD_CRYPT *pw_hash, UINT8 *hash); +UINT16 get_hash_size (const UINT16 method); + +#endif /* __PASSWORD_CRYPT_H__ */ |