1--TEST-- 2crypt() SHA-256 3--FILE-- 4<?php 5 6$tests = array( 7 1 => array( 8 '$5$saltstring', 9 'Hello world!', 10 '$5$saltstring$5B8vYYiY.CVt1RlTTf8KbXBH3hsxY/GNooZaBBGWEc5' 11 ), 12 2 => array( 13 '$5$rounds=10000$saltstringsaltstring', 14 'Hello world!', 15 '$5$rounds=10000$saltstringsaltst$3xv.VbSHBb41AL9AvLeujZkZRBAwqFMz2.opqey6IcA' 16 ), 17 3 => array( 18 '$5$rounds=10000$saltstringsaltstring', 19 'Hello world!', 20 '$5$rounds=10000$saltstringsaltst$3xv.VbSHBb41AL9AvLeujZkZRBAwqFMz2.opqey6IcA' 21 ), 22 4 => array( 23 '$5$rounds=5000$toolongsaltstring', 24 'This is just a test', 25 '$5$rounds=5000$toolongsaltstrin$Un/5jzAHMgOGZ5.mWJpuVolil07guHPvOW8mGRcvxa5' 26 ), 27 5 => array( 28 '$5$rounds=1400$anotherlongsaltstring', 29 'a very much longer text to encrypt. This one even stretches over morethan one line.', 30 '$5$rounds=1400$anotherlongsalts$Rx.j8H.h8HjEDGomFU8bDkXm3XIUnzyxf12oP84Bnq1' 31 ), 32 6 => array( 33 '$5$rounds=77777$short', 34 'we have a short salt string but not a short password', 35 '$5$rounds=77777$short$JiO1O3ZpDAxGJeaDIuqCoEFysAe1mZNJRs3pw0KQRd/' 36 ), 37 7 => array( 38 '$5$rounds=123456$asaltof16chars..', 39 'a short string', 40 '$5$rounds=123456$asaltof16chars..$gP3VQ/6X7UUEW3HkBn2w1/Ptq2jxPyzV/cZKmF/wJvD' 41 ), 42 8 => array( 43 '$5$rounds=10$roundstoolow', 44 'the number of rounds is too low', 45 '*0' 46 ), 47 9 => array( 48 '$5$rounds=1000000000$roundstoohigh', 49 'the number of rounds is too high', 50 '*0' 51 ) 52); 53 54foreach ($tests as $iter => $t) { 55 $res = crypt($t[1], $t[0]); 56 if ($res != $t[2]) echo "Iteration $iter failed. 57Expected: <$t[2]> 58Got <$res>\n"; 59} 60echo "Passes.";?> 61--EXPECT-- 62Passes. 63