Created
October 6, 2014 14:20
-
-
Save LogIN-/f3ffa080f688c7ceff57 to your computer and use it in GitHub Desktop.
PHP Binary-> Decimal - Decimal->Ternary convert
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| <?php | |
| $i = 100; | |
| while ($i <= 150) { | |
| $id = $i; | |
| $start = microtime(true); | |
| $binary_id_enc = dec2bin_i($id); | |
| $binary_id_dec = bin2dec_i($binary_id_enc); | |
| echo "-------------------------------------<br />"; | |
| echo "Our Number: <i>".$id."</i><br />"; | |
| echo "Binary Encoded: <b>".$binary_id_enc."</b><br />"; | |
| echo "Binary Decoded: <i>".$binary_id_dec."</i><br />"; | |
| $ternary_id_enc = dec2ternary_i($id); // Our | |
| $ternary_id_dec = ternary2dec_i($ternary_id_enc); // Our | |
| echo "=>Ternary Encoded: <b>".$ternary_id_enc."</b><br />"; | |
| echo "Ternary Decoded: <i>".$ternary_id_dec."</i><br />"; | |
| $encrypted_string = num2alpha($ternary_id_enc); | |
| $decrypted_string = alpha2num($encrypted_string); | |
| echo "ENCRYPTED ENCODED: <b>".$encrypted_string."</b><br />"; | |
| echo "=>ENCRYPTED DECODED: <i>".$decrypted_string."</i><br />"; | |
| $encrypted_final = str2hex($encrypted_string); | |
| $decrypted_final = hex2str($encrypted_final); | |
| echo "ENCRYPTED FINAL: <b>".$encrypted_final."</b><br />"; | |
| echo "=>DECRYPTED FINAL: <i>".$decrypted_final."</i><br />"; | |
| $time_taken = microtime(true) - $start; | |
| echo "Processing time: <i>".$time_taken."</i><br />"; | |
| $i++; | |
| } | |
| /* Convert Decimal to Binary */ | |
| function dec2bin_i($decimal_i){ | |
| bcscale(0); | |
| $binary_i = ''; | |
| do | |
| { | |
| $binary_i = bcmod($decimal_i,'2') . $binary_i; | |
| $decimal_i = bcdiv($decimal_i,'2'); | |
| } while (bccomp($decimal_i,'0')); | |
| return($binary_i); | |
| } | |
| /* Convert Binary to Decimal */ | |
| function bin2dec_i($binary_i){ | |
| bcscale(0); | |
| $decimal_i = '0'; | |
| for ($i = 0; $i < strlen($binary_i); $i++) | |
| { | |
| $decimal_i = bcmul($decimal_i,'2'); | |
| $decimal_i = bcadd($decimal_i,$binary_i[$i]); | |
| } | |
| return($decimal_i); | |
| } | |
| /* Convert Decimal to Ternary */ | |
| function dec2ternary_i($decimal_i){ | |
| bcscale(0); | |
| $binary_i = ''; | |
| do | |
| { | |
| $binary_i = bcmod($decimal_i,'3') . $binary_i; | |
| $decimal_i = bcdiv($decimal_i,'3'); | |
| } while (bccomp($decimal_i,'0')); | |
| return($binary_i); | |
| } | |
| /* Convert Ternary to Decimal */ | |
| function ternary2dec_i($ternary_i){ | |
| bcscale(0); | |
| $decimal_i = '0'; | |
| for ($i = 0; $i < strlen($ternary_i); $i++) | |
| { | |
| $decimal_i = bcmul($decimal_i,'3'); | |
| $decimal_i = bcadd($decimal_i,$ternary_i[$i]); | |
| } | |
| return($decimal_i); | |
| } | |
| // ENCRYPTION | |
| function num2alpha($n) { | |
| $r = ''; | |
| for ($i = 1; $n >= 0 && $i < 10; $i++) { | |
| $r = chr(0x41 + ($n % pow(26, $i) / pow(26, $i - 1))) . $r; | |
| $n -= pow(26, $i); | |
| } | |
| return $r; | |
| } | |
| function alpha2num($a) { | |
| $r = 0; | |
| $l = strlen($a); | |
| for ($i = 0; $i < $l; $i++) { | |
| $r += pow(26, $i) * (ord($a[$l - $i - 1]) - 0x40); | |
| } | |
| return $r - 1; | |
| } | |
| function hex2str( $hex ) { | |
| return pack('H*', $hex); | |
| } | |
| function str2hex( $str ) { | |
| return array_shift( unpack('H*', $str) ); | |
| } | |
| ?> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment