Я генерирую два ключа в sha512, а затем помещаю их в отдельные файлы. После этого я читаю открытый ключ в index.php, публикую форму на той же странице и кодирую данные, размещенные во входных данных, в другой форме, сгенерированной только при наличии сообщения.
Когда я пытаюсь опубликовать зашифрованные данные на другой странице, для расшифровки ничего не происходит на странице расшифровки.
Похоже, что опубликованные зашифрованные данные недействительны для закрытого ключа.
Я пытаюсь симулировать связь между двумя серверами с зашифрованными данными.
Файл Index.php
if (isset($_POST['name']) ) {
$file = fopen('chave_publica.txt', 'r');
$file2 = fopen('chave_privada.txt', 'r');
$publicKey = fread($file,filesize("chave_publica.txt"));
// $chavePrivada = fread($file2,filesize("chave_privada.txt"));
// echo 'Valor digitado: '.$_POST['name'].'<br>';
// Encrypting
openssl_public_encrypt($_POST['name'], $criptedData, $publicKey);
echo $criptedData;
// decrypting
// openssl_private_decrypt($criptedData, $decriptado, $chavePrivada);
// echo '<br>'.'Valor decriptado: '. $decriptado;
}
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<!-- <?php echo $criptedData ?> -->
<?php if (isset($_POST['name']) ) { ?>
<form method="post" style="margin-top: 20px;" action="decryp.php">
<textarea name="name"><?php echo $criptedData; ?></textarea>
<button type="submit">Send</button>
</form>
<?php }else{ ?>
<form method="post" style="margin-top: 20px;" action="index.php" enctype="application/x-www-form-urlencoded">
<input type="text" name="name" placeholder="Seu nome aqui">
<button type="submit">Encriptar</button>
</form>
<?php } ?>
</body>
</html>
файл расшифровки
echo $cripted = $_POST['name'];
$file2 = fopen('chave_privada.txt', 'r');
$privateKey = fread($file2,filesize("chave_privada.txt"));
// $decrypted = 'a';
openssl_private_decrypt($cripted, $decrypted, $privateKey);
echo '<br>'.'Valor decrypted: '. $decrypted;