Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- include 'vendor/autoload.php';
- $plaintext = 'Hello, this is a text written by me, John Doe.' . "\n" . time();
- //RSA-2048
- $privatekey = '-----BEGIN RSA PRIVATE KEY-----
- MIIEpQIBAAKCAQEAzANst0RirmL3vrPHIGxH+1fQMmEemcS7N+Gq5QY34m7imyc4
- wELe2DGQ0O8r5fcO3wO+1MlDwrZiTOvPBJZtTid4lGN5rjGJIIXrZ2eXEboUC3QN
- +gsZHTLQ5asJOMVEQYKRJN/TuMgmvvZmtEUDngsgXdoddqELld6Ha7DMV87/RUiS
- wD270XukDO+tnpjPiyiMwvaJGYtvBCKK9mAyctyWvcTt3j2cwD7NqzlokmTSWcol
- tS+xEHly5IcE+tFRag6wMSxhVzkDyz2D4Q3ZwSg/Opvd1AN85eo5ybaxZ0gdgBWs
- lRk2X4zNs7vJfVrIL0g8UKEg196UqZHxHLDqAQIDAQABAoIBAQCoCXoWSYFuWZ3t
- uW4eSpHPeDjIBi6KQPxjvsBf+4s0Oljzqo6X7XxXXhwFu7nQpHnfPtqDsXLaghbd
- fKz6/lvxr5klv/mNfMeRvjxy42QO+dFgzapldZat8hkV0pa55+Gcg8rBMIrW/CTN
- zW4ytVWRa2CxbOIvv94nBy9LiEgHWcEkUUmP4WyRW7PBOo6VRsv2pLbTsWXVTq7a
- am9wmG+WRFA8+RWUpQHrrC65++ORKGkApwMegtZ2z2WIwQ6pXjgMm0MoZZWlz9BA
- 09IcwCKiKYIOcnLOuB+r5j1Ff6VYueNFqst5+JNdQoOlDHMY7n1a2Ed3h3mKKtu9
- gX1vHnJxAoGBAP9jF5paK7jEykgaUtYy8S6z25J0CUOCslgMGEFTBP4ScVvzcm33
- B1VFsvCxvws4wjXKyomKDr8PBR/CGz9TXeUlTYNYQcV/1Fcyl8qrWdGVmIcsgQxm
- 3Y/ahOLQIORDGeek0OTTjPAiCTjzPAAWyNtQiIJ8xzDIcKREMjvhdmyXAoGBAMyA
- xNUb5wryZi0C9C4iFSe195sYk6Z+fPOkPl7VCgzUkpSbbBP5hlbhDNkEu9d5VYuT
- TfnkV6ZwvhQT1vlpZVcpGYAlazwLuXqu5hf7K5CSjH43P46W7NV70mlgh+u4HLN6
- V1izvM/vSrRqOSRMXWyqIyyxFZfhRgk+tQo7pXknAoGBAMGiRlEXsTLEsoJ8wvX5
- Zfh9Eiw2opd3TvWHJhTRd2WUYjLPoKFTvVGgKQ5qFmnRvR7ABVTHQmsGXmI38CTR
- ds24vM6raiLuyvbaO1DFHrLT8/P5gFcA31ik3ECEgYvQfKGvy1rUM3YWuFtfwMxo
- eh4fL4GQTg7kytMhidzxE7M9AoGBAL8/WVRXIM3a/PTxQzv1gcU+Zo30APj+Z4pO
- ukljgF+ZWG+DniJcA2cyVhqKU8Th4r+CBbVB9zpfS1NpbmyXRT+q3v85fzyLVm1G
- LUaWDRrKAnty3YxS1q+beZ40uUgXSTgLnK4GgPgQt9NbV477n48k2XpNLX15Hk89
- Bn/IYiqXAoGAChEI7E4d9XOYBonEJ6lD3LgxZ3uJkFZqNv32RqAILP8QVIyJO20W
- u2wuDg3yudn1vW9NMcIC9/ZVjvYC6QmJ4j6fj+h4pf6Cl7wvcVXprmXcKw0JbbLU
- qSJtJGv/Cyc00kOqr9AgeqzZ1KTa1NhxqGetdlb6FSqyEwp0V4dTtps=
- -----END RSA PRIVATE KEY-----';
- $publickey = '-----BEGIN PUBLIC KEY-----
- MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzANst0RirmL3vrPHIGxH
- +1fQMmEemcS7N+Gq5QY34m7imyc4wELe2DGQ0O8r5fcO3wO+1MlDwrZiTOvPBJZt
- Tid4lGN5rjGJIIXrZ2eXEboUC3QN+gsZHTLQ5asJOMVEQYKRJN/TuMgmvvZmtEUD
- ngsgXdoddqELld6Ha7DMV87/RUiSwD270XukDO+tnpjPiyiMwvaJGYtvBCKK9mAy
- ctyWvcTt3j2cwD7NqzlokmTSWcoltS+xEHly5IcE+tFRag6wMSxhVzkDyz2D4Q3Z
- wSg/Opvd1AN85eo5ybaxZ0gdgBWslRk2X4zNs7vJfVrIL0g8UKEg196UqZHxHLDq
- AQIDAQAB
- -----END PUBLIC KEY-----';
- $signature = '';
- $status = '';
- if (isset($_GET['action'])) {
- $rsa = new \phpseclib\Crypt\RSA();
- $rsa->setHash('sha512');
- $rsa->setMGFHash('sha512');
- $plaintext = $_GET['plaintext'];
- if ($_GET['action'] == 'sign') {
- $privatekey = $_GET['privatekey'];
- $rsa->loadKey($privatekey);
- $signature = $rsa->sign($plaintext);
- $signature = base64_encode($signature);
- } else {
- $publickey = $_GET['publickey'];
- $signature = $_GET['signature'];
- $rsa->loadKey($publickey);
- $res = $rsa->verify($plaintext, base64_decode($signature));
- $status = $res ? "Verification OK" : "Verification Failed";
- }
- }
- ?>
- <html>
- <head>
- <title>RSA Sign & Verify v2</title>
- </head>
- <body>
- <h1>Sign a text</h1>
- <form action="rsa-sign-verify-v2.php">
- <p><b>Input plain text</b></p>
- <textarea name="plaintext" style="height:100px;width:600px;"><?php echo $plaintext;?></textarea><br>
- <p><b>Input Private Key</b></p>
- <textarea name="privatekey" style="height:100px;width:600px;"><?php echo $privatekey;?></textarea><br>
- <input type="hidden" name="action" value="sign">
- <input type="submit" value="Submit">
- </form>
- <p><b>Signature</b></p>
- <textarea name="signature" style="height:100px;width:600px;"><?php echo $signature;?></textarea><br></p>
- <br>
- <hr><br>
- <h1>Verify a text</h1>
- <form action="rsa-sign-verify-v2.php">
- <p><b>Input plain text</b></p>
- <textarea name="plaintext" style="height:100px;width:600px;"><?php echo $plaintext;?></textarea><br>
- <p><b>Input Public Key</b></p>
- <textarea name="publickey" style="height:100px;width:600px;"><?php echo $publickey;?></textarea><br>
- <p><b>Input Signature</b></p>
- <textarea name="signature" style="height:100px;width:600px;"><?php echo $signature;?></textarea><br></p>
- <input type="hidden" name="action" value="verify">
- <input type="submit" value="Submit">
- </form>
- <p><b>Verification result: </b><font color='red'><?php echo $status;?></font></p>
- <p></p>
- </body>
- </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement