All pastes #37834 Raw Edit

Miscellany

public php v1 · immutable
#37834 ·published 2006-01-21 16:38 UTC
rendered paste body
<font face="Courier New" size="2"><?php	function crc16($string) {		$crc = 0xFFFF;		for ($x = 0; $x < strlen ($string); $x++) {			$crc = $crc ^ ord($string[$x]);			for ($y = 0; $y < 8; $y++) {				if (($crc & 0x0001) == 0x0001) {					$crc = (($crc >> 1) ^ 0xA001);				} else { $crc = $crc >> 1; }			}		}		return $crc;	} 	if (isset($_GET['key']) === TRUE) {		$key = $_GET['key'];		$sha = strtolower(sha1($key));		$md5 = strtolower(md5($key));		$crc32 = strtolower(dechex(crc32($key)));		$crc16 = strtolower(dechex(crc16($key)));		echo "<b>Key</b>: $key\n<br />\n";		echo "<b>SHA-1</b>: $sha\n<br />\n";		echo "<b>MD-5</b> : $md5\n<br />\n";		echo "<b>CRC32</b>: $crc32\n<br />\n";		echo "<b>CRC16</b>: $crc16\n<br /><br />\n";		if (extension_loaded('cryptopp') === TRUE) {			echo "<b>Crypto++ PHP extension</b>:<br />";			$algorithms = array(				array(CRYPTOPP_HASH_HAVAL, 'HAVAL'),				array(CRYPTOPP_HASH_HAVAL3, 'HAVAL-3'),				array(CRYPTOPP_HASH_HAVAL4, 'HAVAL-4'),				array(CRYPTOPP_HASH_HAVAL5, 'HAVAL-5'),				array(CRYPTOPP_HASH_MD2, 'MD-2'),				array(CRYPTOPP_HASH_MD4, 'MD-4'),				array(CRYPTOPP_HASH_MD5, 'MD-5'),				array(CRYPTOPP_HASH_PANAMA_LITTLE_ENDIAN, 'Panama (LE)'),				array(CRYPTOPP_HASH_PANAMA_BIG_ENDIAN, 'Panama (BE)'),				array(CRYPTOPP_HASH_RIPEMD128, 'RIPEMD-128'),				array(CRYPTOPP_HASH_RIPEMD160, 'RIPEMD-160'),				array(CRYPTOPP_HASH_RIPEMD256, 'RIPEMD-256'),				array(CRYPTOPP_HASH_RIPEMD320, 'RIPEMD-320'),				array(CRYPTOPP_HASH_SHA1, 'SHA-1'),				array(CRYPTOPP_HASH_SHA256, 'SHA-256'),				array(CRYPTOPP_HASH_SHA384, 'SHA-384'),				array(CRYPTOPP_HASH_SHA512, 'SHA-512'),				array(CRYPTOPP_HASH_TIGER, 'Tiger'),				array(CRYPTOPP_HASH_WHIRLPOOL, 'Whirlpool'),				array(CRYPTOPP_HASH_ADLER32, 'Adler32'),				array(CRYPTOPP_HASH_CRC32, 'CRC32')			);						$i = 0;			while ($i < sizeOf($algorithms)) {				$currentAlgorithm = $algorithms[$i]['0'];				if (cryptopp_hash_enabled($currentAlgorithm) === FALSE) {					$i++;				} else {					$hash = cryptopp_create_hash($currentAlgorithm);					$algorithmName = $algorithms[$i]['1'];					cryptopp_set_hash_plaintext($hash, $key);					cryptopp_hash($hash);					$hashValue = strtolower(cryptopp_get_hashtext($hash));					echo "<b>$algorithmName</b>: $hashValue\n<br />\n";					cryptopp_destroy_hash($hash);				}				$i++;			}			echo "<br />\n";		}		if (extension_loaded('mhash') === TRUE) {			echo "<b>Mhash PHP extension</b>:<br />";			$algorithms = array(				array(MHASH_MD5, 'MD-5'),				array(MHASH_SHA1, 'SHA-1'),				array(MHASH_HAVAL128, 'HAVAL-128'),				array(MHASH_HAVAL160, 'HAVAL-160'),				array(MHASH_HAVAL192, 'HAVAL-192'),				array(MHASH_HAVAL256, 'HAVAL-256'),				array(MHASH_RIPEMD160, 'RIPEMD-160'),				array(MHASH_GOST, 'GOST'),				array(MHASH_TIGER, 'Tiger'),				array(MHASH_TIGER128, 'Tiger-128'),				array(MHASH_TIGER160, 'Tiger-160'),				array(MHASH_CRC32, 'CRC32'),				array(MHASH_CRC32B, 'CRC32b')			);						$i = 0;			while ($i < sizeOf($algorithms)) {				$currentAlgorithm = $algorithms[$i]['0'];				$hashed = strtolower(bin2hex(mhash($currentAlgorithm, $key)));				$hashName = $algorithms[$i]['1'];				echo "<b>$hashName</b>: $hashed\n<br />\n";				$i++;			}			echo "<br />\n";		}	}		echo "<form action=\"\" method=\"get\">\n";	echo "<input type=\"text\" name=\"key\" size=\"50\">\n<br />\n";	echo "<input type=\"submit\" value=\"Calculate\">\n";?></font>