document.getElementById('submit_post').submit ();"/><?php } echo '</td></tr>'; echo '</table></fieldset></form></div>'; require JIRAFEAU_ROOT . 'lib/template/footer.php'; exit; } header('HTTP/1.0 200 OK'); header('Content-Length: ' . $link['file_size']); if (!jirafeau_is_viewable($link['mime_type']) || !$cfg['preview'] || $do_download) { header('Content-Disposition: attachment; filename="' . $link['file_name'] . '"'); } else { header('Content-Disposition: filename="' . $link['file_name'] . '"'); } header('Content-Type: ' . $link['mime_type']); header('Content-MD5: ' . hex_to_base64($link['md5'])); /* Read encrypted file. */ if ($link['crypted']) { /* Init module */ $m = mcrypt_module_open('rijndael-256', '', 'ofb', ''); /* Extract key and iv. */ $md5_key = md5($crypt_key); $iv = jirafeau_crypt_create_iv($md5_key, mcrypt_enc_get_iv_size($m)); /* Init module. */ mcrypt_generic_init($m, $md5_key, $iv); /* Decrypt file. */ $r = fopen(VAR_FILES . $p . $link['md5'], 'r'); while (!feof($r)) { $dec = mdecrypt_generic($m, fread($r, 1024)); print $dec; ob_flush();
<?php include '../functions.php'; //################################# Convert hex to base64 ################################# echo "<strong>########### Convert hex to base64 ###########</strong><br>"; echo "<strong>input:</strong><br>"; echo "49276d206b696c6c696e6720796f757220627261696e206c696b65206120706f69736f6e6f7573206d757368726f6f6d<br>"; echo "<strong>output:</strong><br>"; echo hex_to_base64('49276d206b696c6c696e6720796f757220627261696e206c696b65206120706f69736f6e6f7573206d757368726f6f6d'); echo "<br><br>";
if (!strstr($line, "=")) { continue; } list($lk, $lv) = explode("=", trim($line)); $vars[trim($lk)] = trim($lv); } $n = $vars["n"]; $p = $vars["p"]; $q = $vars["q"]; $e = $vars["e"]; $d = $vars["d"]; $gmp_n = gmp_init($n, 16); $gmp_p = gmp_init($p, 16); $gmp_q = gmp_init($q, 16); $gmp_e = gmp_init($e, 16); $gmp_d = gmp_init($d, 16); if (gmp_cmp($gmp_p, $gmp_q) < 0) { $tmp = $gmp_p; $gmp_p = $gmp_q; $gmp_q = $tmp; } $gmp_p1 = gmp_sub($gmp_p, 1); $gmp_q1 = gmp_sub($gmp_q, 1); $gmp_dp = gmp_mod($gmp_d, $gmp_p1); $gmp_dq = gmp_mod($gmp_d, $gmp_q1); $gmp_qi = gmp_invert($gmp_q, $gmp_p); printf("n =%s\ne =%s\nd =%s\np =%s\nq =%s\ndp=%s\ndq=%s\nqi=%s\n", gmp_strval($gmp_n, 16), gmp_strval($gmp_e, 16), gmp_strval($gmp_d, 16), gmp_strval($gmp_p, 16), gmp_strval($gmp_q, 16), gmp_strval($gmp_dp, 16), gmp_strval($gmp_dq, 16), gmp_strval($gmp_qi, 16)); $der = sprintf("3082 %04x\n 0201 00\n 02%02x %s\n 02%02x %s\n 02%02x %s\n 02%02x %s\n 02%02x %s\n 02%02x %s\n 02%02x %s\n 02%02x %s\n", 19 + bytelen($gmp_n) + bytelen($gmp_e) + bytelen($gmp_d) + bytelen($gmp_p) + bytelen($gmp_q) + bytelen($gmp_dp) + bytelen($gmp_dq) + bytelen($gmp_qi), bytelen($gmp_n), bytepad($gmp_n), bytelen($gmp_e), bytepad($gmp_e), bytelen($gmp_d), bytepad($gmp_d), bytelen($gmp_p), bytepad($gmp_p), bytelen($gmp_q), bytepad($gmp_q), bytelen($gmp_dp), bytepad($gmp_dp), bytelen($gmp_dq), bytepad($gmp_dq), bytelen($gmp_qi), bytepad($gmp_qi)); echo "DER:\n{$der}\n"; echo "PEM:\n-----BEGIN RSA PRIVATE KEY-----\n" . hex_to_base64($der) . "\n-----END RSA PRIVATE KEY-----\n";