Ab PHP Version 5.1.2 wird eine neue Extension namens hash mit PHP geliefert. Diese Erweiterung kann als Ersatz für die bisherige Erweiterung mhash angesehen werden. mhash war nie ein fester Bestandteil von PHP, wurde aber schon von einigen Linux Distributionen als PHP Extension angeboten (wie z.B. SuSE oder Gentoo).
Hier eine Auflisten der zur Verfügung stehenden Algorithmen.
mhash Algorithmen:
[0] => ADLER32
[1] => CRC32
[2] => CRC32B
[3] => GOST
[4] => HAVAL128
[5] => HAVAL160
[6] => HAVAL192
[7] => HAVAL224
[8] => HAVAL256
[9] => MD2
[10] => MD4
[11] => MD5
[12] => RIPEMD128
[13] => RIPEMD160
[14] => RIPEMD256
[15] => RIPEMD320
[16] => SHA1
[17] => SHA224
[18] => SHA256
[19] => SHA384
[20] => SHA512
[21] => SNEFRU128
[22] => SNEFRU256
[23] => TIGER
[24] => TIGER128
[25] => TIGER160
[26] => WHIRLPOOL
hash Algorithmen:
[0] => adler32
[1] => crc32
[2] => crc32b
[3] => gost
[4] => haval128,3
[5] => haval128,4
[6] => haval128,5
[7] => haval160,3
[8] => haval160,4
[9] => haval160,5
[10] => haval192,3
[11] => haval192,4
[12] => haval192,5
[13] => haval224,3
[14] => haval224,4
[15] => haval224,5
[16] => haval256,3
[17] => haval256,4
[18] => haval256,5
[19] => md4
[20] => md5
[21] => ripemd128
[22] => ripemd160
[23] => sha1
[24] => sha256
[25] => sha384
[26] => sha512
[27] => snefru
[28] => tiger128,3
[29] => tiger128,4
[30] => tiger160,3
[31] => tiger160,4
[32] => tiger192,3
[33] => tiger192,4
[34] => whirlpool
Die Standard Hashfunktionen md5, crc32 oder sha1 werden von PHP auch ohne diese beiden Erweiterungen bereit gestellt. Will man einen stärkeren Hash wie sha512 verwenden, muss entweder mhash oder hash verwendet werden.
Anmerkung für Gentoo-User: Um die Hash Extension nutzten zu können, muss bei der Kompilierung von PHP das FLAG hash verwendet werden.