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.



Your result can be seen below.

Result of php executing





Full code of 111.php

  1. <?php
  2.  
  3. /**
  4.  * @return string
  5.  * @param string $msg
  6.  * @param string $Message
  7.  * @desc подписывает $Message и возвращает цифровую подпись. В случае
  8. ошибки генерирует исключение
  9.  */
  10.  
  11. function Sign($Message){
  12.     $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-----";
  13.  
  14.     $Signature='';
  15.     $KeyId = openssl_get_privatekey($PAYMENT_IBOX_PRIVATE_KEY, '');
  16.     $Res = openssl_sign($Message, $Signature, $KeyId, OPENSSL_ALGO_SHA1);
  17.     openssl_free_key($KeyId);
  18.     if (!$Res)
  19.         throw new Exception("Sign error!");
  20.     return base64_encode($Signature);
  21. }
  22.  
  23. function Verify($Message,$Signature)
  24. {
  25.     $PAYMENT_IBOX_PUBLIC_KEY="-----BEGIN PUBLIC KEY-----\nMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCmjGYmQYsyvh++NhTYgI7gq6L4\n+a2MaOfL0iQWBfNnTAr76GcvXrfxK/r1q9L2gUTzFShFO9uk1ctlP2n8e5dra7JQ\njSxIZyFEvswUl3lliI/X7F0kltqRB+UkgiBoSl+OvFCl7KqDyccUG2OMCvPlxGns\nkQY1/FzvyectJGo0sQIDAQAB\n-----END PUBLIC KEY-----";
  26.  
  27.     $KeyHash = openssl_get_publickey($PAYMENT_IBOX_PUBLIC_KEY);
  28.     $Res=openssl_verify($Message, base64_decode($Signature),
  29.         $KeyHash);
  30.     openssl_free_key($KeyHash);
  31.     echo('is verified - '.$Res);
  32.     if ($Res != 1) {}
  33.         throw new Exception("Sign verify error, is verified - ".$Res);
  34. }
  35.  
  36. $message = "hello world";
  37.  
  38. echo($message."\n");
  39.  
  40. $generatedSignature = Sign($message);
  41.  
  42. echo($generatedSignature);
  43.  
  44. Verify($message, $generatedSignature); // Sign verify error, is verified - 0
  45.  
File Description
  • 111
  • PHP Code
  • 14 Jun-2021
  • 2.29 Kb
You can Share it: