111 - PHP Online
Form of PHP Sandbox
Enter Your PHP code here for testing/debugging in the Online PHP Sandbox. As in the usual PHP files, you can also add HTML, but do not forget to add the tag <?php
in the places where the PHP script should be executed.
Result of php executing
Full code of 111.php
- <?php
- /**
- * @return string
- * @param string $msg
- * @param string $Message
- * @desc подписывает $Message и возвращает цифровую подпись. В случае
- ошибки генерирует исключение
- */
- function Sign($Message){
- $PAYMENT_IBOX_PRIVATE_KEY="-----BEGIN RSA PRIVATE KEY-----\nMIICXQIBAAKBgQCEBeIlQhiQ5vD/sMQtkOLBknSGImUD7I7n5itRrURhxF6oOUp+\nEta2hs98jf/SaVMlfLectfZyk/+8Hb0LO2711dKKu1x77as0qqqUne2mZQgg1Xkw\n8dSIz4gGs185I/QnMecT+7wOPcDkoAcP4XwV5I5qkM5Wq2WaZY8+/Gh7tQIDAQAB\nAoGAF/nxjg6o43ftgKIbnqLXa4wreUi5y7KkaV0VtOmgp5jAEBEHhEnrkI5/FAG9\n2fqizQYPWnh5X2mdYg6MjIOorN32Y8gi7ZuTmoncGvNW72xw2pakWmUkCTQOBm4p\ncPn2/XhgKxqmGl6VOQpxeVeovIQ7AgTB/KBEYOR3iNSPAukCQQC6MbpBjD3Lz3Jx\nozPtLOui5IongNjKPRfvN0rQcod3Jx2bfRlRnGEphZrx34ek/AuxXk0T0FADa7rf\nBQ/OaGITAkEAtYT8uuJm3AOiRZ6Gg+M2qd7z6Q5570WR/4UekM5XhafAxZHIL9c2\nP6U/yxgt6s6sRVoNZ5G4UKDCCkBsb28kFwJAeOpSSr8IYpMVfza9Qgkp/V7tWToT\nj0KdiHwf2b6GuppsX82d46Hqd0yMkwbW0A3eihDzfSqKy63qbWqcGS8wgQJBAJKS\nMtzY6cOob4SVz/p5Iu+h5wP+O3l4jL5uCFNXOpbi8SbXY3U160kTL2LYQGOExNgv\nMfm6UcFRPb23bZfBf7sCQQCNz40SvbgtRk4sMF59CYDuBX0b4ftd2NaDGSMW0iBu\nXX92lKHGAz0rIEspLfpCtuJ5+fL3VimAF9xFlopKWYHp\n-----END RSA PRIVATE KEY-----";
- $Signature='';
- $KeyId = openssl_get_privatekey($PAYMENT_IBOX_PRIVATE_KEY, '');
- $Res = openssl_sign($Message, $Signature, $KeyId, OPENSSL_ALGO_SHA1);
- openssl_free_key($KeyId);
- if (!$Res)
- throw new Exception("Sign error!");
- return base64_encode($Signature);
- }
- function Verify($Message,$Signature)
- {
- $PAYMENT_IBOX_PUBLIC_KEY="-----BEGIN PUBLIC KEY-----\nMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCmjGYmQYsyvh++NhTYgI7gq6L4\n+a2MaOfL0iQWBfNnTAr76GcvXrfxK/r1q9L2gUTzFShFO9uk1ctlP2n8e5dra7JQ\njSxIZyFEvswUl3lliI/X7F0kltqRB+UkgiBoSl+OvFCl7KqDyccUG2OMCvPlxGns\nkQY1/FzvyectJGo0sQIDAQAB\n-----END PUBLIC KEY-----";
- $KeyHash = openssl_get_publickey($PAYMENT_IBOX_PUBLIC_KEY);
- $Res=openssl_verify($Message, base64_decode($Signature),
- $KeyHash);
- openssl_free_key($KeyHash);
- echo('is verified - '.$Res);
- if ($Res != 1) {}
- throw new Exception("Sign verify error, is verified - ".$Res);
- }
- $message = "hello world";
- echo($message."\n");
- $generatedSignature = Sign($message);
- echo($generatedSignature);
- Verify($message, $generatedSignature); // Sign verify error, is verified - 0