<?php 
include('class.base32.php5'); 
 
// I'm real lazy... 
header('Content-type: text/plain'); 
 
// Create a new Base32 object 
/* 
    You could also call (for example) 
        $b = new Base32(Base32::csSafe); 
*/ 
$b = new Base32; 
 
$instr = 'Hello World - How are we all today?'; 
print "Base32::csRFC3548> Input string: $instr\n"; 
$bstr = $b->fromString($instr); 
print "Base32::csRFC3548> Base32 string: $bstr\n"; 
$outstr = $b->toString($bstr); 
print "Base32::csRFC3548> Output string: $outstr\n\n"; 
 
// Switch to using Base32::csSafe 
$b->setCharset(Base32::csSafe); 
print "Base32::csSafe> Input string: $instr\n"; 
$bstr = $b->fromString($instr); 
print "Base32::csSafe> Base32 string: $bstr\n"; 
$outstr = $b->toString($bstr); 
print "Base32::csSafe> Output string: $outstr\n\n"; 
 
// Switch to using Base32::cs09AV 
$b->setCharset(Base32::cs09AV); 
print "Base32::cs09AV> Input string: $instr\n"; 
$bstr = $b->fromString($instr); 
print "Base32::cs09AV> Base32 string: $bstr\n"; 
$outstr = $b->toString($bstr); 
print "Base32::cs09AV> Output string: $outstr\n\n"; 
 
 
print "Now to demonstrate why Base32::csSafe is so handy\n"; 
// Switch to using Base32::csSafe 
$b->setCharset(Base32::csSafe); 
$bstr = $b->fromString($instr); 
print "Here is the string you want the user to enter: $bstr\n"; 
 
// Pretend to be a human... 
$fstr = str_replace('1','L',$bstr); 
$fstr = str_replace('0','o',$fstr); 
 
print "Here is the string the user has entered: $fstr\n"; 
print "Note the 1 is an l and the 0 is an o\n"; 
$outstr = $b->toString($fstr); 
print "Here is the output of the decoded string: $outstr\n\n"; 
 
// Now we show off 
print "\nOf course, you arn't restricted to the default character sets\n"; 
// Must be 32 chars, and should be upper case... 
$chrset = '0987654321QPWOEIRUTYLAKSJDHFGMCZ'; 
 
print "Here's a new character set, perhaps you're generating passwords: $chrset\n"; 
// Switch to customer character set 
$b->setCharset($chrset); 
print "Customer chrset> Input string: $instr\n"; 
$bstr = $b->fromString($instr); 
print "Customer chrset> Base32 string: $bstr\n"; 
$outstr = $b->toString($bstr); 
print "Customer chrset> Output string: $outstr\n"; 
 
 |