setupPubKey($pub); $res = openssl_get_publickey($pub_key); $result = openssl_verify($input, base64_decode($sign), $res); if ($res) { openssl_free_key($res); } return $result == 1 ? true : false; } function setupPubKey($pubKey) { if (is_resource($pubKey)) { return true; } $pem = chunk_split($pubKey, 64, "\n"); $pem = "-----BEGIN PUBLIC KEY-----\n" . $pem . "-----END PUBLIC KEY-----\n"; $pub_Key = openssl_pkey_get_public($pem); return $pub_Key; } function rsa_verify($data, $signature, $public_key) { if(empty($data) || empty($signature)) { return false; } $pub_res = openssl_get_publickey($public_key); return openssl_verify($data, base64_decode($signature), $pub_res ); } }