Minggu, 14 Juli 2019

RSA FILE with PHP


<?php
//<input name="dokumen" type="hidden" id="dokumen" value="<?php echo $dokumen;
     
if(isset($_POST["Dekrip"])){
$pro=strip_tags($_POST["pro"]);
$kode_penawaran=strip_tags($_POST["kode_penawaran"]);
$public_key=strip_tags($_POST["public_key"]);
//$dokumen=($_POST["dokumen"]);

$tanggal=date("Y-m-d");
$jam=date("H:i:s");

$time_start = microtime_float();

ini_set('memory_limit', '-1');
ini_set('max_execution_time', '-1');

//$ciphertext = file_get_contents("upload/".$dokumen);
//move_uploaded_file($_FILES["dokumen"]["tmp_name"],"upload/temp");
//$ciphertext = file_get_contents("upload/temp");

move_uploaded_file($_FILES["dokumen"]["tmp_name"],"upload/temp");
$ciphertext = file_get_contents("upload/temp");


//echo"ciphertext: $ciphertext";

include 'Crypt/RSA.php';
$RSA = new Crypt_RSA();
$RSA->loadKey($public_key);
$dekrip= $RSA->decrypt($ciphertext);

$namafile = str_replace("Enkrip","Dekrip", $dokumen);
$fp = fopen("upload/".$namafile,"w");
fwrite($fp,$dekrip);
fclose($fp);

$time_end = microtime_float();
$time = $time_end - $time_start;


echo "<br>File Hasil Dekripsi :"; echo $namafile;
echo "<br>Lokasi Hasil Dekripsi :"; echo realpath("upload/". $namafile);
echo "<br>Waktu Proses Dekripsi : $time seconds\n";
echo "<br>File Hasil Dekripsi RSA EL GAMAL :"; echo  "Dekrip_".$namafile;
echo "<br>Lokasi Hasil Dekripsi RSA EL GAMAL :"; echo realpath("upload/Dekrip_".$namafile);
echo "<br>Waktu Proses Dekripsi RSA EL GAMAL : $time seconds\n";
echo"<br><hr>";

}
?>






<?php
if(isset($_POST["Generate"])){
$kode_vendor0=strip_tags($_SESSION["cid"]);


include 'Crypt/RSA.php';
$RSA = new Crypt_RSA();
extract($RSA->createKey());


require_once"elgamal.php";
$key=new elgamal(0,0,0,0,0);
$key->_key(258);
$p=$key->p;
$g=$key->g;
$y=$key->y;
$x=$key->x;
$k=$key->k;



$sql="update `$tbvendor` set
`public_key`='$publickey',
`private_key`='$privatekey' ,
`p`='$p',
`g`='$g',`x`='$x',`k`='$k',
`y`='$y'
where `kode_vendor`='$kode_vendor0'";
$ubah=process($conn,$sql);
if($ubah) {echo "<script>alert('Data $kode_vendor berhasil digenerate !');document.location.href='?mnu=profilvendor1';</script>";}
else{echo"<script>alert('Data $kode_vendor gagal digenerate...');document.location.href='?mnu=profilvendor1';</script>";}

}
?>




<?php
if(isset($_POST["Simpan"])){
$pro=strip_tags($_POST["pro"]);
$kode_penawaran=strip_tags($_POST["kode_penawaran"]);
$kode_penawaran0=strip_tags($_POST["kode_penawaran"]);
$kode_user=strip_tags($_SESSION["cid"]);
$kode_tender=strip_tags($_POST["kode_tender"]);


$tanggal=date("Y-m-d");
$jam=date("H:i:s");
$deskripsi=strip_tags($_POST["deskripsi"]);
$dokumen0=strip_tags($_POST["dokumen0"]);
if ($_FILES["dokumen"] != "") {
@copy($_FILES["dokumen"]["tmp_name"],"$YPATH/".$_FILES["dokumen"]["name"]);
$dokumen=$_FILES["dokumen"]["name"];
}
else {$dokumen=$dokumen0;}
if(strlen($dokumen)<1){$dokumen=$dokumen0;}



$sql="select * from `$tbtender` where `kode_tender`='$kode_tender'";
$d=getField($conn,$sql);
$nama_tender=$d["nama_tender"];
$kode_vendor=$d["kode_vendor"];


$sql="select * from `$tbvendor` where `kode_vendor`='$kode_vendor'";
$d=getField($conn,$sql);
$kode_vendor=$d["kode_vendor"];
$kode_vendor0=$d["kode_vendor"];
$nama_vendor=$d["nama_vendor"];
$email=$d["email"];
$telepon=$d["telepon"];
$username=$d["username"];
$password=$d["password"];
$status=$d["status"];

$public_key=$d["public_key"];
$private_key=$d["private_key"];

$p=$d["p"];
$g=$d["g"];
$x=$d["x"];
$y=$d["y"];
$k=$d["k"];


ini_set('memory_limit', '-1');
ini_set('max_execution_time', '-1');

$privatekey = $private_key;
$publickey= $public_key;

$uploaded_name = $_FILES['dokumen']['name'];
$uploaded_ext = substr($uploaded_name, strrpos($uploaded_name, '.') + 1);
$uploaded_size = $_FILES["dokumen"]["size"];

$time_start = microtime_float();
if($_FILES["dokumen"]["error"] != 0){
echo "<script>alert('Tidak ada file yang diupload')</script>";
echo "<a href=?mnu=upenawaran> <button name ='Kembali'>Kembali</button> </a>";
return ;
}

if($uploaded_ext != "txt" && $uploaded_ext != "xlsx" && $uploaded_ext != "doc" && $uploaded_ext != "docx" && $uploaded_ext !="pdf"  && $uploaded_ext !="jpeg" && $uploaded_ext !="jpg"){
echo "<script>alert('File yang dipilih =".$_FILES["file"]["name"].", bukan file type xlsx, doc, docx ,pdf, jpeg, jpg')</script>";
echo "<a href=?mnu=upenawaran> <button name ='Kembali'>Kembali</button> </a>";
return;
}
if($uploaded_size > 10242880){ //max 10MB
echo "<script>alert('File yang dimasukan lebih besar dari 10MB')</script>";
echo "<a href=?mnu=upenawaran> <button name ='Kembali'>Kembali</button> </a>";
return;
}
/*
move_uploaded_file($_FILES["dokumen"]["tmp_name"],"upload/temp");
$plaintext = file_get_contents("upload/temp");

include 'Crypt/RSA.php';
$RSA = new Crypt_RSA();
$ciphertext = $RSA->encrypt($plaintext);

move_uploaded_file($_FILES["dokumen"]["tmp_name"],$_FILES["dokumen"]["name"]["type"]);

$mywk=date("YmdHis");

$namafile ="Enkrip".$mywk."_".$_FILES["dokumen"]["name"];

$fp = fopen("upload/".$namafile,"w");
fwrite($fp,$ciphertext);
fclose($fp);
*/

move_uploaded_file($_FILES["dokumen"]["tmp_name"],"upload/temp");
$plaintext = file_get_contents("upload/temp");


include 'Crypt/RSA.php';
$RSA = new Crypt_RSA();
$RSA->loadKey($privatekey);
$ciphertext = $RSA->encrypt($plaintext);
//$RSA->loadKey($publickey);
//$dekrip= $RSA->decrypt($ciphertext);

//echo "privatekey=$privatekey<hr>";
//echo "publickey=$publickey<hr>";

move_uploaded_file($_FILES["dokumen"]["tmp_name"],$_FILES["dokumen"]["name"]["type"]);

$wk=date("ymdHis");
$namafile ="Enkrip$wk_".$_FILES["dokumen"]["name"];

$fp = fopen("upload/".$namafile,"w");
fwrite($fp,$ciphertext);
fclose($fp);



$time_end = microtime_float();
$time = $time_end - $time_start;

//Keterangan File
echo "File Asli : " . $_FILES["dokumen"]["name"] . "<br />";
echo "Type: " . $_FILES["dokumen"]["type"] . "<br />";
echo "Size: " . ($_FILES["dokumen"]["size"] / 1024) . " Kb";  
echo "<br>File Hasil Enkripsi RSA EL GAMAL:"; echo  "".$namafile;
echo "<br>Lokasi Hasil Enkripsi RSA EL GAMAL:"; echo realpath("upload/".$namafile);
echo "<br>Waktu Proses Enkripsi RSA EL GAMAL: $time seconds\n";
echo"<br><hr>";




if($pro=="simpan"){
$sql=" INSERT INTO `$tbpenawaran` (
`kode_penawaran` ,
`kode_user` ,`kode_tender` ,
`tanggal` ,
`jam` ,
`deskripsi` ,
`private_key` ,`p` ,`g` ,`y` ,`k` ,`x`,
`public_key` ,
`dokumen`
) VALUES (
'$kode_penawaran',
'$kode_user','$kode_tender',
'$tanggal',
'$jam',
'$deskripsi',
'$private_key','$p','$g','$y','$k','$x',
'$public_key',
'$namafile'
)";

$simpan=process($conn,$sql);
}
else{
$sql="update `$tbpenawaran` set
`kode_user`='$kode_user',
`tanggal`='$tanggal', `kode_tender`='$kode_tender',
`jam`='$jam',
`p`='$p',`g`='$g',`x`='$x',`y`='$y',`k`='$k',`deskripsi`='$deskripsi',
`private_key`='$private_key',
`public_key`='$public_key',
`dokumen`='$namafile'
  where `kode_penawaran`='$kode_penawaran0'";
$ubah=process($conn,$sql);
}//else simpan
}
?>

Tidak ada komentar:

Posting Komentar

global_priv WARNING Selalu

 Jika muncul pesan kesalahan: Warning in .\libraries\classes\Dbal\DbiMysqli.php#209  mysqli::query(): (HY000/1034): Index for table 'glo...