Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- $data = "Fabio dos Santos Giacomel";
- // Voce pode gerar um par de chaves simples privada/publica:
- // openssl genrsa 512 > private_key.txt
- // openssl rsa -pubout < private_key.txt > public_key.txt
- // IMPORTANT: Se for utilizar mude o par de chaves
- $private_key = <<<EOD
- -----BEGIN RSA PRIVATE KEY-----
- MIIBOgIBAAJBANDiE2+Xi/WnO+s120NiiJhNyIButVu6zxqlVzz0wy2j4kQVUC4Z
- RZD80IY+4wIiX2YxKBZKGnd2TtPkcJ/ljkUCAwEAAQJAL151ZeMKHEU2c1qdRKS9
- sTxCcc2pVwoAGVzRccNX16tfmCf8FjxuM3WmLdsPxYoHrwb1LFNxiNk1MXrxjH3R
- 6QIhAPB7edmcjH4bhMaJBztcbNE1VRCEi/bisAwiPPMq9/2nAiEA3lyc5+f6DEIJ
- h1y6BWkdVULDSM+jpi1XiV/DevxuijMCIQCAEPGqHsF+4v7Jj+3HAgh9PU6otj2n
- Y79nJtCYmvhoHwIgNDePaS4inApN7omp7WdXyhPZhBmulnGDYvEoGJN66d0CIHra
- I2SvDkQ5CmrzkW5qPaE2oO7BSqAhRZxiYpZFb5CI
- -----END RSA PRIVATE KEY-----
- EOD;
- $public_key = <<<EOD
- -----BEGIN PUBLIC KEY-----
- MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBANDiE2+Xi/WnO+s120NiiJhNyIButVu6
- zxqlVzz0wy2j4kQVUC4ZRZD80IY+4wIiX2YxKBZKGnd2TtPkcJ/ljkUCAwEAAQ==
- -----END PUBLIC KEY-----
- EOD;
- $binary_signature = "";
- echo "Texto a ser assinado...: ";
- echo $data;
- echo "<br><br>";
- //assinando a variavel data e gerando uma assinatura em $binary_signature
- openssl_sign($data, $binary_signature, $private_key, OPENSSL_ALGO_SHA1);
- echo "Assinatura...: ";
- echo base64_encode($binary_signature);
- echo "<br><br>";
- // Checando a assinatura
- $ok = openssl_verify($data, $binary_signature, $public_key, OPENSSL_ALGO_SHA1);
- echo "Verificacao #1: ";
- if ($ok == 1) {
- echo "Assinatura ok (como deve ser)\n";
- } elseif ($ok == 0) {
- echo "Assinatura nao confere (Existe algo errado)\n";
- } else {
- echo "Erro na hora de checar a assinatura\n";
- }
- //vamos adulterar o texto
- echo "<br><br>";
- $data = "Fabio dos Santos Giacomeu";
- echo "Texto adulterado...: ";
- echo $data;
- echo "<br><br>";
- // Checando a assinatura
- $ok = openssl_verify($data, $binary_signature, $public_key, OPENSSL_ALGO_SHA1);
- echo "Verificacao #2: ";
- if ($ok == 1) {
- echo "Assinatura ok (como deve ser)\n";
- } elseif ($ok == 0) {
- echo "Assinatura nao confere (Existe algo errado)\n";
- } else {
- echo "Erro na hora de checar a assinatura\n";
- }
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement