<html>
<body>
<h2>Encoding and Hashes</h2>
<form action="encode.php" method="post">
<p>Text to be hashed / encrypted: <input type="text" name="tobehashed"></p>
</form>
<?php

$tobehashed 
$_POST['tobehashed'];

function 
str2bin($str$mode=0) {
    
$out false;
    for(
$a=0$a strlen($str); $a++) {
        
$dec ord(substr($str,$a,1));
        
$bin '';
        for(
$i=7$i>=0$i--) {
            if ( 
$dec >= pow(2$i) ) {
                
$bin .= "1";
                
$dec -= pow(2$i);
            } else {
                
$bin .= "0";
            }
        }
        
/* Default-mode */
        
if ( $mode == $out .= $bin;
        
/* Human-mode (easy to read) */
        
if ( $mode == $out .= $bin " ";
        
/* Array-mode (easy to use) */
        
if ( $mode == $out[$a] = $bin;
    }
    return 
$out;
}

function 
strhex($string)
{
    
$hex="";
    for (
$i=0;$i<strlen($string);$i++)
        
$hex.=(strlen(dechex(ord($string[$i])))<2)? "0".dechex(ord($string[$i])): dechex(ord($string[$i]));
    return 
$hex;
}

if(isset(
$tobehashed))
{
    echo 
"<br /><p><b>Encodings of '".$tobehashed."'</b></p>";
    echo 
"<p>rot13: ".str_rot13($tobehashed)."</p>";
    echo 
"<p>base64: ".base64_encode($tobehashed)."</p>";
    echo 
"<p>binary: ".str2bin($tobehashed)."</p>";
    echo 
"<p>hex: ".strhex($tobehashed)."</p>";

    echo 
"<br /><p><b>Hashes of '".$tobehashed."'</b></p>";
    
$algos hash_algos();
    foreach(
$algos as $algo)
    {
        echo 
"<p>".$algo.": ".hash($algo$tobehashed)."</p>";
    }
}

?>
</body>
</html>