1--TEST-- 2Crypto\CMAC::digest basic usage. 3--SKIPIF-- 4<?php 5if (!class_exists('Crypto\CMAC' )) 6 die("Skip: CMAC is not supported by OpenSSL"); 7?> 8--FILE-- 9<?php 10 11$key = pack('H*', '2b7e151628aed2a6abf7158809cf4f3c'); 12 13$msg1 = ''; 14 15$msg2 = pack('H*', '6bc1bee22e409f96e93d7e117393172a'); 16 17$msg3 = pack('H*', 18 '6bc1bee22e409f96e93d7e117393172a' . 19 'ae2d8a571e03ac9c9eb76fac45af8e51' . 20 '30c81c46a35ce411'); 21 22$msg4 = pack('H*', 23 '6bc1bee22e409f96e93d7e117393172a' . 24 'ae2d8a571e03ac9c9eb76fac45af8e51' . 25 '30c81c46a35ce411e5fbc1191a0a52ef' . 26 'f69f2445df4f9b17ad2b417be66c3710'); 27 28 29function crypto_test_cmac_aes_128($msg) { 30 global $key; 31 32 $cmac = new Crypto\CMAC($key, 'AES-128-CBC'); 33 $cmac->update($msg); 34 echo bin2hex($cmac->digest()) . "\n"; 35} 36 37crypto_test_cmac_aes_128($msg1); 38crypto_test_cmac_aes_128($msg2); 39crypto_test_cmac_aes_128($msg3); 40crypto_test_cmac_aes_128($msg4); 41echo "SUCCESS\n"; 42?> 43--EXPECT-- 44bb1d6929e95937287fa37d129b756746 45070a16b46b4d4144f79bdd9dd04a287c 46dfa66747de9ae63030ca32611497c827 4751f0bebf7e3b9d92fc49741779363cfe 48SUCCESS 49