Test and compare the speed of various encryption algorithms and Hash algorithms in PHP, and test the hash speed.

Source: Internet
Author: User

Test and compare the speed of various encryption algorithms and Hash algorithms in PHP, and test the hash speed.

The Hash algorithm of PHP is quite common. The current MD5 algorithm is sometimes not safe, so we need to use other algorithms in Hash_algos (). The following is a performance comparison.

Php code:

define('testtime', 50000);$algos = hash_algos();foreach($algos as $algo) {$st = microtime();for($i = 0; $i < testtime; $i++) {hash($algo, microtime().$i);}$et = microtime();list($ss, $si) = explode(' ', $st);list($es, $ei) = explode(' ', $et);$time[$algo] = $ei + $es - $si - $ss;}asort($time, SORT_NUMERIC);echo "";print_r($time);Array(  [crc32b] => 0.14577506593323  [crc32] => 0.14600901216125  [adler32] => 0.14769597711182  [md4] => 0.1584680151825  [md5] => 0.15956400747681  [salsa20] => 0.16176804933166  [salsa10] => 0.16325911569214  [tiger128,3] => 0.16543607070923  [sha1] => 0.16547892630005  [tiger160,3] => 0.16672711079407  [tiger192,3] => 0.16793211837769  [tiger128,4] => 0.16802901655579  [sha224] => 0.16959108877563  [tiger160,4] => 0.1713979150238  [tiger192,4] => 0.1717759589386  [sha256] => 0.17396298696899  [ripemd256] => 0.17431005943298  [ripemd128] => 0.17437094918823  [ripemd320] => 0.17870710316467  [haval160,3] => 0.18147005220032  [haval256,3] => 0.18150104528809  [haval224,3] => 0.18176211320496  [sha512] => 0.18234492471313  [haval192,3] => 0.18296506645203  [ripemd160] => 0.18318411643982  [haval128,3] => 0.18408892243958  [sha384] => 0.18502903718567  [haval128,4] => 0.18848111178589  [haval256,4] => 0.18875202952576  [haval160,4] => 0.1895639828186  [haval224,4] => 0.19041207319641  [haval192,4] => 0.19101205462646  [whirlpool] => 0.19728892146301  [haval256,5] => 0.19996902294922  [haval160,5] => 0.20026498704529  [haval192,5] => 0.20072503967285  [haval128,5] => 0.20132308227539  [haval224,5] => 0.2025869493103  [gost] => 0.24892493852234  [snefru256] => 0.28652299385071  [snefru] => 0.29043891609192  [md2] => 0.6300178873291)


Questions about the php Encryption Algorithm

1. the encryption algorithm is MCRYPT_RIJNDAEL_128. It is hard to say if it is AES. I personally think it should not. After all, the two are not very similar.

2. The code is not broken, but all encryption may be broken, which is time-consuming.
3. IV is used for algorithm initialization. The same must be kept confidential.

Which of the following ideas can be provided by using the C language to implement symmetric encryption algorithms, asymmetric encryption algorithms, and HASH algorithms?

Baidu search

Including RSA algorithm, MD5 algorithm, and vinig Algorithm

These algorithms are easy to find. I have an article on RSA in my space.

Baidu search

These codes are hard to understand and involve a lot of mathematics.

It is said that some people have understood the source code of DES encryption of IBM after more than a decade.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.