PHP 有 md5()、sha1() ... 等等 function,不過現在建議使用 SHA224 以上(註),在 PHP 要怎麼寫呢?
註:下述摘錄自此篇:Mobilefish.com - MD5, SHA1, SHA224, SHA256, SHA384, SHA512 and RIPEMD160 hash generator
- MD5 is considered cryptographically broken and is unsuitable for further use.
- The SHA1 algorithm might not be secure enough for ongoing use. It is recommended not to use SHA1.
- SHA224: SHA224 produces a 224-bit (28-byte) hash value, typically rendered as a hexadecimal number, 56 digits long.
- SHA256: SHA256 produces a 256-bit (32-byte) hash value, typically rendered as a hexadecimal number, 64 digits long.
- SHA384: SHA384 produces a 384-bit (48-byte) hash value, typically rendered as a hexadecimal number, 96 digits long.
- SHA512: SHA512 produces a 512-bit (64-byte) hash value, typically rendered as a hexadecimal number, 128 digits long.
- RIPEMD160: RIPEMD160 produces a 160-bit (20-byte) hash value, typically rendered as a hexadecimal number, 40 digits long.
PHP 使用 SHA256、SHA512 等 雜湊演算法的寫法
雜湊(Hash)演算法越來越多,PHP 直接做了 hash() 來用,直接指定要用哪個雜湊演算法即可。
PHP hash() 使用範例
PHP hash() 有支援哪些雜湊演算法呢?
可以使用 hash_algos() 來查詢,範例如下:
- <?php
- // 列出 hash() 有哪些演算法可使用
- print_r(hash_algos());
- /*
- Array
- (
- [0] => md2
- [1] => md4
- [2] => md5
- [3] => sha1
- [4] => sha224
- [5] => sha256
- [6] => sha384
- [7] => sha512
- [8] => ripemd128
- [9] => ripemd160
- [10] => ripemd256
- [11] => ripemd320
- [12] => whirlpool
- [13] => tiger128,3
- [14] => tiger160,3
- [15] => tiger192,3
- [16] => tiger128,4
- [17] => tiger160,4
- [18] => tiger192,4
- [19] => snefru
- [20] => snefru256
- [21] => gost
- [22] => gost-crypto
- [23] => adler32
- [24] => crc32
- [25] => crc32b
- [26] => fnv132
- [27] => fnv1a32
- [28] => fnv164
- [29] => fnv1a64
- [30] => joaat
- [31] => haval128,3
- [32] => haval160,3
- [33] => haval192,3
- [34] => haval224,3
- [35] => haval256,3
- [36] => haval128,4
- [37] => haval160,4
- [38] => haval192,4
- [39] => haval224,4
- [40] => haval256,4
- [41] => haval128,5
- [42] => haval160,5
- [43] => haval192,5
- [44] => haval224,5
- [45] => haval256,5
- )
- */
- ?>
請問您,我可以請教一些公鑰加密在PHP上的應用嗎?
都可以啊,請隨意~ 🙂