Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- function getFileAsHexStr($file_name)
- {
- $ret = "";
- $handle = fopen($file_name, "rb");
- if($handle)
- {
- while(!feof($handle))
- {
- $c = fgetc($handle);
- $t = (($c & 0xF0) >> 4) & 0xF;
- $ret .= ((($t >= 0) && ($t <= 9)) ? ('0' + $t) : ('A' + ($t - 0xA)));
- $t = $c & 0xF;
- $ret .= ((($t >= 0) && ($t <= 9)) ? ('0' + $t) : ('A' + ($t - 0xA)));
- }
- fclose($handle);
- }
- return $ret;
- }
- function writeHexStrAsFile($file_name, $str)
- {
- $ret = "";
- $handle = fopen($file_name, "wb");
- $t = '\0';
- $s = false;
- if($handle)
- {
- $str_len = strlen($str);
- for($i = 0; $i < $str_len; $i++)
- {
- switch($str[$i])
- {
- case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9':
- if($s) fputs($handle, $t | ($str[$i] - '0'));
- else $t = (($str[$i] - '0') << 4);
- $s = !$s;
- break;
- case 'a': case 'b': case 'c': case 'd': case 'e': case 'f':
- if($s) fputs($handle, $t | (($str[$i] + 0xA ) - 'a'));
- else $t = ((($str[$i] + 0xA ) - 'a') << 4);
- $s = !$s;
- break;
- case 'A': case 'B': case 'C': case 'D': case 'E': case 'F':
- if($s) fputs($handle, $t | (($str[$i] + 0xA) - 'A'));
- else $t = ((($str[$i] + 0xA) - 'A') << 4);
- $s = !$s;
- break;
- }
- }
- $ret = true;
- fclose($handle);
- }
- return $ret;
- }
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement