1--TEST-- 2Hash: hash_hmac_file() function : basic functionality 3--FILE-- 4<?php 5 6 7echo "*** Testing hash_hmac_file() : basic functionality ***\n"; 8 9$file = __DIR__ . "hash_hmac_file.txt"; 10/* Creating a temporary file file */ 11if (($fp = fopen( $file, "w+")) == FALSE) { 12 echo "Cannot create file ($file)"; 13 exit; 14} 15 16/* Writing into file */ 17$content = "This is a sample string used to test the hash_hmac_file function with various hashing algorithms"; 18if (is_writable($file)) { 19 if (fwrite($fp, $content) === FALSE) { 20 echo "Cannot write to file ($file)"; 21 exit; 22 } 23} 24 25// close the files 26fclose($fp); 27 28$key = 'secret'; 29 30 31echo "gost: " . hash_hmac_file('gost', $file, $key) . "\n"; 32echo "haval128,3: " . hash_hmac_file('haval128,3', $file, $key) . "\n"; 33echo "md2: " . hash_hmac_file('md2', $file, $key) . "\n"; 34echo "md4: " . hash_hmac_file('md4', $file, $key) . "\n"; 35echo "md5: " . hash_hmac_file('md5', $file, $key) . "\n"; 36echo "ripemd128: " . hash_hmac_file('ripemd128', $file, $key) . "\n"; 37echo "ripemd160: " . hash_hmac_file('ripemd160', $file, $key) . "\n"; 38echo "ripemd256: " . hash_hmac_file('ripemd256', $file, $key) . "\n"; 39echo "ripemd320: " . hash_hmac_file('ripemd320', $file, $key) . "\n"; 40echo "sha1: " . hash_hmac_file('sha1', $file, $key) . "\n"; 41echo "sha256: " . hash_hmac_file('sha256', $file, $key) . "\n"; 42echo "sha384: " . hash_hmac_file('sha384', $file, $key) . "\n"; 43echo "sha512: " . hash_hmac_file('sha512', $file, $key) . "\n"; 44echo "snefru: " . hash_hmac_file('snefru', $file, $key) . "\n"; 45echo "tiger192,3: " . hash_hmac_file('tiger192,3', $file, $key) . "\n"; 46echo "whirlpool: " . hash_hmac_file('whirlpool', $file, $key) . "\n"; 47 48echo "md5(raw): " . bin2hex(hash_hmac_file('md5', $file, $key, TRUE)). "\n"; 49echo "sha256(raw): " . bin2hex(hash_hmac_file('sha256', $file, $key, TRUE)). "\n"; 50 51unlink($file); 52 53?> 54--EXPECT-- 55*** Testing hash_hmac_file() : basic functionality *** 56gost: 94c39a40d5db852a8dc3d24e37eebf2d53e3d711457c59cd02b614f792a9d918 57haval128,3: f1cea637451097d790354a86de3f54a3 58md2: a685475e600314bb549ab4f33c3b27cb 59md4: cbc6bff781f48f57378d3effa27553e4 60md5: 8bddf39dd1c566c27acc7fa85ec36acf 61ripemd128: 03269b76bf61d508c50f038cbe9ba691 62ripemd160: 94652211292268d97eb63344a3a05d3009f9d2d3 63ripemd256: b6ab414cc1630e1e474fefa41976d252f38ca7cf401552774e71736165e512e7 64ripemd320: 71271a649265740eed4b9931417f979fd81eba6288f4e08ff2997bc3dd6858da054d53a9f1fffe8c 65sha1: 7f338d17b72371091abd28f451bc8d1f3a9eb3b6 66sha256: 9135286ca4c84dec711e4b831f6cd39e672e5ff93d011321274eb76733cc1e40 67sha384: 364fdc45a4c742763366ab5d3d1c17c24057e6c3b641607a36d969f00c88da25b19c8b88c8632411e3a0a02397f88aca 68sha512: d460aabdf0353655059ed0d408efa91f19c4cda46acc2a4e0adf4764b06951c899fbb2ed41519db78b58ff7be17b1b2910aebe674a56861b232143571b35c83f 69snefru: 7b79787e1c1d926b6cc98327f05c5d04ba6227ab51c1398661861196016ef34c 70tiger192,3: ca89badf843ba68e3fae5832635aa848a72a4bc11676edd4 71whirlpool: 37a0fbb90547690d5e5e11c046f6654ffdb7bab15e16d9d79c7d85765cc4bdcbfd9df8db7a3ce9558f3f244fead00ca29cf05297f75596555195a0683f15d69f 72md5(raw): 8bddf39dd1c566c27acc7fa85ec36acf 73sha256(raw): 9135286ca4c84dec711e4b831f6cd39e672e5ff93d011321274eb76733cc1e40 74