1--TEST-- 2hash_copy() basic tests 3--SKIPIF-- 4<?php extension_loaded('hash') or die('skip'); ?> 5--FILE-- 6<?php 7 8$algos = hash_algos(); 9 10foreach ($algos as $algo) { 11 var_dump($algo); 12 $orig = hash_init($algo); 13 hash_update($orig, b"I can't remember anything"); 14 $copy = hash_copy($orig); 15 var_dump(hash_final($orig)); 16 17 var_dump(hash_final($copy)); 18} 19 20foreach ($algos as $algo) { 21 var_dump($algo); 22 $orig = hash_init($algo); 23 hash_update($orig, b"I can't remember anything"); 24 $copy = hash_copy($orig); 25 var_dump(hash_final($orig)); 26 27 hash_update($copy, b"Can’t tell if this is true or dream"); 28 var_dump(hash_final($copy)); 29} 30 31echo "Done\n"; 32?> 33--EXPECTF-- 34string(3) "md2" 35string(32) "d5ac4ffd08f6a57b9bd402b8068392ff" 36string(32) "d5ac4ffd08f6a57b9bd402b8068392ff" 37string(3) "md4" 38string(32) "302c45586b53a984bd3a1237cb81c15f" 39string(32) "302c45586b53a984bd3a1237cb81c15f" 40string(3) "md5" 41string(32) "e35759f6ea35db254e415b5332269435" 42string(32) "e35759f6ea35db254e415b5332269435" 43string(4) "sha1" 44string(40) "29f62a228f726cd728efa7a0ac6a2aba318baf15" 45string(40) "29f62a228f726cd728efa7a0ac6a2aba318baf15" 46string(6) "sha224" 47string(56) "51fd0aa76a00b4a86103895cad5c7c2651ec7da9f4fc1e50c43ede29" 48string(56) "51fd0aa76a00b4a86103895cad5c7c2651ec7da9f4fc1e50c43ede29" 49string(6) "sha256" 50string(64) "d3a13cf52af8e9390caed78b77b6b1e06e102204e3555d111dfd149bc5d54dba" 51string(64) "d3a13cf52af8e9390caed78b77b6b1e06e102204e3555d111dfd149bc5d54dba" 52string(6) "sha384" 53string(96) "6950d861ace4102b803ab8b3779d2f471968233010d2608974ab89804cef6f76162b4433d6e554e11e40a7cdcf510ea3" 54string(96) "6950d861ace4102b803ab8b3779d2f471968233010d2608974ab89804cef6f76162b4433d6e554e11e40a7cdcf510ea3" 55string(6) "sha512" 56string(128) "caced3db8e9e3a5543d5b933bcbe9e7834e6667545c3f5d4087b58ec8d78b4c8a4a5500c9b88f65f7368810ba9905e51f1cff3b25a5dccf76634108fb4e7ce13" 57string(128) "caced3db8e9e3a5543d5b933bcbe9e7834e6667545c3f5d4087b58ec8d78b4c8a4a5500c9b88f65f7368810ba9905e51f1cff3b25a5dccf76634108fb4e7ce13" 58string(9) "ripemd128" 59string(32) "5f1bc5f5aeaf747574dd34a6535cd94a" 60string(32) "5f1bc5f5aeaf747574dd34a6535cd94a" 61string(9) "ripemd160" 62string(40) "02a2a535ee10404c6b5cf9acb178a04fbed67269" 63string(40) "02a2a535ee10404c6b5cf9acb178a04fbed67269" 64string(9) "ripemd256" 65string(64) "547d2ed85ca0a0e3208b5ecf4fc6a7fc1e64db8ff13493e4beaf11e4d71648e2" 66string(64) "547d2ed85ca0a0e3208b5ecf4fc6a7fc1e64db8ff13493e4beaf11e4d71648e2" 67string(9) "ripemd320" 68string(80) "785a7df56858f550966cddfd59ce14b13bf4b18e7892c4c1ad91bf23bf67639bd2c96749ba29cfa6" 69string(80) "785a7df56858f550966cddfd59ce14b13bf4b18e7892c4c1ad91bf23bf67639bd2c96749ba29cfa6" 70string(9) "whirlpool" 71string(128) "6e60597340640e621e25f975cef2b000b0c4c09a7af7d240a52d193002b0a8426fa7da7acc5b37ed9608016d4f396db834a0ea2f2c35f900461c9ac7e5604082" 72string(128) "6e60597340640e621e25f975cef2b000b0c4c09a7af7d240a52d193002b0a8426fa7da7acc5b37ed9608016d4f396db834a0ea2f2c35f900461c9ac7e5604082" 73string(10) "tiger128,3" 74string(32) "8d68e78bc5e62ba925a67aa48595cfc6" 75string(32) "8d68e78bc5e62ba925a67aa48595cfc6" 76string(10) "tiger160,3" 77string(40) "8d68e78bc5e62ba925a67aa48595cfc62cd1e5e0" 78string(40) "8d68e78bc5e62ba925a67aa48595cfc62cd1e5e0" 79string(10) "tiger192,3" 80string(48) "8d68e78bc5e62ba925a67aa48595cfc62cd1e5e08224fc35" 81string(48) "8d68e78bc5e62ba925a67aa48595cfc62cd1e5e08224fc35" 82string(10) "tiger128,4" 83string(32) "a26ca3f58e74fb32ee44b099cb1b5122" 84string(32) "a26ca3f58e74fb32ee44b099cb1b5122" 85string(10) "tiger160,4" 86string(40) "a26ca3f58e74fb32ee44b099cb1b512203375900" 87string(40) "a26ca3f58e74fb32ee44b099cb1b512203375900" 88string(10) "tiger192,4" 89string(48) "a26ca3f58e74fb32ee44b099cb1b512203375900f30b741d" 90string(48) "a26ca3f58e74fb32ee44b099cb1b512203375900f30b741d" 91string(6) "snefru" 92string(64) "fbe88daa74c89b9e29468fa3cd3a657d31845e21bb58dd3f8d806f5179a85c26" 93string(64) "fbe88daa74c89b9e29468fa3cd3a657d31845e21bb58dd3f8d806f5179a85c26" 94string(9) "snefru256" 95string(64) "fbe88daa74c89b9e29468fa3cd3a657d31845e21bb58dd3f8d806f5179a85c26" 96string(64) "fbe88daa74c89b9e29468fa3cd3a657d31845e21bb58dd3f8d806f5179a85c26" 97string(4) "gost" 98string(64) "5820c7c4a0650587538b30ef4099f2b5993069758d5c847a552e6ef7360766a5" 99string(64) "5820c7c4a0650587538b30ef4099f2b5993069758d5c847a552e6ef7360766a5" 100string(11) "gost-crypto" 101string(64) "f7c4e35548d66aabe2b106f20515d289fde90969225d3d7b83f6dd12d694f043" 102string(64) "f7c4e35548d66aabe2b106f20515d289fde90969225d3d7b83f6dd12d694f043" 103string(7) "adler32" 104string(8) "6f7c0928" 105string(8) "6f7c0928" 106string(5) "crc32" 107string(8) "e5cfc160" 108string(8) "e5cfc160" 109string(6) "crc32b" 110string(8) "69147a4e" 111string(8) "69147a4e" 112string(6) "fnv132" 113string(8) "98139504" 114string(8) "98139504" 115string(7) "fnv1a32" 116string(8) "aae4e042" 117string(8) "aae4e042" 118string(6) "fnv164" 119string(16) "14522659f8138684" 120string(16) "14522659f8138684" 121string(7) "fnv1a64" 122string(16) "bebc746a33b6ab62" 123string(16) "bebc746a33b6ab62" 124string(5) "joaat" 125string(8) "aaebf370" 126string(8) "aaebf370" 127string(10) "haval128,3" 128string(32) "86362472c8895e68e223ef8b3711d8d9" 129string(32) "86362472c8895e68e223ef8b3711d8d9" 130string(10) "haval160,3" 131string(40) "fabdf6905f3ba18a3c93d6a16b91e31f7222a7a4" 132string(40) "fabdf6905f3ba18a3c93d6a16b91e31f7222a7a4" 133string(10) "haval192,3" 134string(48) "e05d0ff5723028bd5494f32c0c2494cd0b9ccf7540af7b47" 135string(48) "e05d0ff5723028bd5494f32c0c2494cd0b9ccf7540af7b47" 136string(10) "haval224,3" 137string(56) "56b196289d8de8a22296588cf90e5b09cb6fa1b01ce8e92bca40cae2" 138string(56) "56b196289d8de8a22296588cf90e5b09cb6fa1b01ce8e92bca40cae2" 139string(10) "haval256,3" 140string(64) "ff4d7ab0fac2ca437b945461f9b62fd16e71e9103524d5d140445a00e3d49239" 141string(64) "ff4d7ab0fac2ca437b945461f9b62fd16e71e9103524d5d140445a00e3d49239" 142string(10) "haval128,4" 143string(32) "ee44418e0195a0c4a35d112722919a9c" 144string(32) "ee44418e0195a0c4a35d112722919a9c" 145string(10) "haval160,4" 146string(40) "f320cce982d5201a1ccacc1c5ff835a258a97eb1" 147string(40) "f320cce982d5201a1ccacc1c5ff835a258a97eb1" 148string(10) "haval192,4" 149string(48) "a96600107463e8e97a7fe6f260d9bf4f4587a281caafa6db" 150string(48) "a96600107463e8e97a7fe6f260d9bf4f4587a281caafa6db" 151string(10) "haval224,4" 152string(56) "7147c9e1c1e67b942da3229f59a1ab18f121f5d7f5765ca88bc9f200" 153string(56) "7147c9e1c1e67b942da3229f59a1ab18f121f5d7f5765ca88bc9f200" 154string(10) "haval256,4" 155string(64) "82fec42679ed5a77a841962827b88a9cddf7d677736e50bc81f1a14b99f06061" 156string(64) "82fec42679ed5a77a841962827b88a9cddf7d677736e50bc81f1a14b99f06061" 157string(10) "haval128,5" 158string(32) "8d0b157828328ae7d34d60b4b60c1dab" 159string(32) "8d0b157828328ae7d34d60b4b60c1dab" 160string(10) "haval160,5" 161string(40) "54dab5e10dc41503f9b8aa32ffe3bab7cf1da8a3" 162string(40) "54dab5e10dc41503f9b8aa32ffe3bab7cf1da8a3" 163string(10) "haval192,5" 164string(48) "7d91265a1b27698279d8d95a5ee0a20014528070bf6415e7" 165string(48) "7d91265a1b27698279d8d95a5ee0a20014528070bf6415e7" 166string(10) "haval224,5" 167string(56) "7772b2e22f2a3bce917e08cf57ebece46bb33168619a776c6f2f7234" 168string(56) "7772b2e22f2a3bce917e08cf57ebece46bb33168619a776c6f2f7234" 169string(10) "haval256,5" 170string(64) "438a602cb1a761f7bd0a633b7bd8b3ccd0577b524d05174ca1ae1f559b9a2c2a" 171string(64) "438a602cb1a761f7bd0a633b7bd8b3ccd0577b524d05174ca1ae1f559b9a2c2a" 172string(3) "md2" 173string(32) "d5ac4ffd08f6a57b9bd402b8068392ff" 174string(32) "5c36f61062d091a8324991132c5e8dbd" 175string(3) "md4" 176string(32) "302c45586b53a984bd3a1237cb81c15f" 177string(32) "1d4196526aada3506efb4c7425651584" 178string(3) "md5" 179string(32) "e35759f6ea35db254e415b5332269435" 180string(32) "f255c114bd6ce94aad092b5141c00d46" 181string(4) "sha1" 182string(40) "29f62a228f726cd728efa7a0ac6a2aba318baf15" 183string(40) "a273396f056554dcd491b5dea1e7baa3b89b802b" 184string(6) "sha224" 185string(56) "51fd0aa76a00b4a86103895cad5c7c2651ec7da9f4fc1e50c43ede29" 186string(56) "1aee028400c56ceb5539625dc2f395abf491409336ca0f3e177a50e2" 187string(6) "sha256" 188string(64) "d3a13cf52af8e9390caed78b77b6b1e06e102204e3555d111dfd149bc5d54dba" 189string(64) "268e7f4cf88504a53fd77136c4c4748169f46ff7150b376569ada9c374836944" 190string(6) "sha384" 191string(96) "6950d861ace4102b803ab8b3779d2f471968233010d2608974ab89804cef6f76162b4433d6e554e11e40a7cdcf510ea3" 192string(96) "0d44981d04bb11b1ef75d5c2932bd0aa2785e7bc454daac954d77e2ca10047879b58997533fc99650b20049c6cb9a6cc" 193string(6) "sha512" 194string(128) "caced3db8e9e3a5543d5b933bcbe9e7834e6667545c3f5d4087b58ec8d78b4c8a4a5500c9b88f65f7368810ba9905e51f1cff3b25a5dccf76634108fb4e7ce13" 195string(128) "28d7c721433782a880f840af0c3f3ea2cad4ef55de2114dda9d504cedeb110e1cf2519c49e4b5da3da4484bb6ba4fd1621ceadc6408f4410b2ebe9d83a4202c2" 196string(9) "ripemd128" 197string(32) "5f1bc5f5aeaf747574dd34a6535cd94a" 198string(32) "f95f5e22b8875ee0c48219ae97f0674b" 199string(9) "ripemd160" 200string(40) "02a2a535ee10404c6b5cf9acb178a04fbed67269" 201string(40) "900d615c1abe714e340f4ecd6a3d65599fd30ff4" 202string(9) "ripemd256" 203string(64) "547d2ed85ca0a0e3208b5ecf4fc6a7fc1e64db8ff13493e4beaf11e4d71648e2" 204string(64) "b9799db40d1af5614118c329169cdcd2c718db6af03bf945ea7f7ba72b8e14f4" 205string(9) "ripemd320" 206string(80) "785a7df56858f550966cddfd59ce14b13bf4b18e7892c4c1ad91bf23bf67639bd2c96749ba29cfa6" 207string(80) "d6d12c1fca7a9c4a59c1be4f40188e92a746a035219e0a6ca1ee53b36a8282527187f7dffaa57ecc" 208string(9) "whirlpool" 209string(128) "6e60597340640e621e25f975cef2b000b0c4c09a7af7d240a52d193002b0a8426fa7da7acc5b37ed9608016d4f396db834a0ea2f2c35f900461c9ac7e5604082" 210string(128) "e8c6a921e7d8eac2fd21d4df6054bb27a02321b2beb5b01b6f88c40706164e64d67ec97519bf76c8af8df896745478b78d42a0159f1a0db16777771fd9d420dc" 211string(10) "tiger128,3" 212string(32) "8d68e78bc5e62ba925a67aa48595cfc6" 213string(32) "a99d2c0348d480dc0f3c35852926e0f1" 214string(10) "tiger160,3" 215string(40) "8d68e78bc5e62ba925a67aa48595cfc62cd1e5e0" 216string(40) "a99d2c0348d480dc0f3c35852926e0f1e1825c16" 217string(10) "tiger192,3" 218string(48) "8d68e78bc5e62ba925a67aa48595cfc62cd1e5e08224fc35" 219string(48) "a99d2c0348d480dc0f3c35852926e0f1e1825c1651957ee3" 220string(10) "tiger128,4" 221string(32) "a26ca3f58e74fb32ee44b099cb1b5122" 222string(32) "66e2c0322421c4e5a9208e6aeed481e5" 223string(10) "tiger160,4" 224string(40) "a26ca3f58e74fb32ee44b099cb1b512203375900" 225string(40) "66e2c0322421c4e5a9208e6aeed481e5c4b00448" 226string(10) "tiger192,4" 227string(48) "a26ca3f58e74fb32ee44b099cb1b512203375900f30b741d" 228string(48) "66e2c0322421c4e5a9208e6aeed481e5c4b00448e344d9d0" 229string(6) "snefru" 230string(64) "fbe88daa74c89b9e29468fa3cd3a657d31845e21bb58dd3f8d806f5179a85c26" 231string(64) "614ca924864fa0e8fa309aa0944e047d5edbfd4964a35858f4d8ec66a0fb88b0" 232string(9) "snefru256" 233string(64) "fbe88daa74c89b9e29468fa3cd3a657d31845e21bb58dd3f8d806f5179a85c26" 234string(64) "614ca924864fa0e8fa309aa0944e047d5edbfd4964a35858f4d8ec66a0fb88b0" 235string(4) "gost" 236string(64) "5820c7c4a0650587538b30ef4099f2b5993069758d5c847a552e6ef7360766a5" 237string(64) "a00961e371287c71c527a41c14564f13b6ed12ac7cd9d5f5dfb3542a25e28d3b" 238string(11) "gost-crypto" 239string(64) "f7c4e35548d66aabe2b106f20515d289fde90969225d3d7b83f6dd12d694f043" 240string(64) "68ca9aea6729dc07d995fbe071a4b5c6490bb27fc4dc65ec0e96200d5e082996" 241string(7) "adler32" 242string(8) "6f7c0928" 243string(8) "d9141747" 244string(5) "crc32" 245string(8) "e5cfc160" 246string(8) "59f8d3d2" 247string(6) "crc32b" 248string(8) "69147a4e" 249string(8) "3ee63999" 250string(6) "fnv132" 251string(8) "98139504" 252string(8) "59ad036f" 253string(7) "fnv1a32" 254string(8) "aae4e042" 255string(8) "fadc2cef" 256string(6) "fnv164" 257string(16) "14522659f8138684" 258string(16) "5e8c64fba6a5ffcf" 259string(7) "fnv1a64" 260string(16) "bebc746a33b6ab62" 261string(16) "893899e4415a920f" 262string(5) "joaat" 263string(8) "aaebf370" 264string(8) "513479b4" 265string(10) "haval128,3" 266string(32) "86362472c8895e68e223ef8b3711d8d9" 267string(32) "ebeeeb05c18af1e53d2d127b561d5e0d" 268string(10) "haval160,3" 269string(40) "fabdf6905f3ba18a3c93d6a16b91e31f7222a7a4" 270string(40) "f1a2c9604fb40899ad502abe0dfcec65115c8a9a" 271string(10) "haval192,3" 272string(48) "e05d0ff5723028bd5494f32c0c2494cd0b9ccf7540af7b47" 273string(48) "d3a7315773a326678208650ed02510ed96cd488d74cd5231" 274string(10) "haval224,3" 275string(56) "56b196289d8de8a22296588cf90e5b09cb6fa1b01ce8e92bca40cae2" 276string(56) "6d7132fabc83c9ab7913748b79ecf10e25409569d3ed144177f46731" 277string(10) "haval256,3" 278string(64) "ff4d7ab0fac2ca437b945461f9b62fd16e71e9103524d5d140445a00e3d49239" 279string(64) "7a469868ad4b92891a3a44524c58a2b8d0f3bebb92b4cf47d19bc6aba973eb95" 280string(10) "haval128,4" 281string(32) "ee44418e0195a0c4a35d112722919a9c" 282string(32) "6ecddb39615f43fd211839287ff38461" 283string(10) "haval160,4" 284string(40) "f320cce982d5201a1ccacc1c5ff835a258a97eb1" 285string(40) "bcd2e7821723ac22e122b8b7cbbd2daaa9a862df" 286string(10) "haval192,4" 287string(48) "a96600107463e8e97a7fe6f260d9bf4f4587a281caafa6db" 288string(48) "ae74619a88dcec1fbecde28e27f009a65ecc12170824d2cd" 289string(10) "haval224,4" 290string(56) "7147c9e1c1e67b942da3229f59a1ab18f121f5d7f5765ca88bc9f200" 291string(56) "fdaba6563f1334d40de24e311f14b324577f97c3b78b9439c408cdca" 292string(10) "haval256,4" 293string(64) "82fec42679ed5a77a841962827b88a9cddf7d677736e50bc81f1a14b99f06061" 294string(64) "289a2ba4820218bdb25a6534fbdf693f9de101362584fdd41e32244c719caa37" 295string(10) "haval128,5" 296string(32) "8d0b157828328ae7d34d60b4b60c1dab" 297string(32) "ffa7993a4e183b245263fb1f63e27343" 298string(10) "haval160,5" 299string(40) "54dab5e10dc41503f9b8aa32ffe3bab7cf1da8a3" 300string(40) "375ee5ab3a9bd07a1dbe5d071e07b2afb3165e3b" 301string(10) "haval192,5" 302string(48) "7d91265a1b27698279d8d95a5ee0a20014528070bf6415e7" 303string(48) "c650585f93c6e041e835caedc621f8c42d8bc6829fb76789" 304string(10) "haval224,5" 305string(56) "7772b2e22f2a3bce917e08cf57ebece46bb33168619a776c6f2f7234" 306string(56) "bc674d465a822817d939f19b38edde083fe5668759836c203c56e3e4" 307string(10) "haval256,5" 308string(64) "438a602cb1a761f7bd0a633b7bd8b3ccd0577b524d05174ca1ae1f559b9a2c2a" 309string(64) "da70ad9bd09ed7c9675329ea2b5279d57761807c7aeac6340d94b5d494809457" 310Done 311