脚本宝典收集整理的这篇文章主要介绍了php – 混淆了API签名的公钥和私钥对,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用PHP oPEnssl_sign和openssl_verify函数.
我理解公钥和私钥的概念(DSA算法).但基本上我不知道如何实现它.
我是从http://uk.php.net/manual/en/function.openssl-sign.php开始的这个例子
<?PHP $data = "Beeeeer is really good.. hic..."; // You can get a simple PRivate/public key pair using: // openssl genrsa 512 >private_key.txt // openssl rsa -pubout <private_key.txt >public_key.txt // IMPORTANT: The key pair below is provided for testing only. // For security reasons you must get a new key pair // for production use,obvIoUsly. $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 = ""; // At least wITh PHP 5.2.2 / OpenSSL 0.9.8b (Fedora 7) // there seems to be no need to call openssl_get_privatekey or similar. // Just pass the key as defined above openssl_sign($data,$binary_signature,$private_key,OPENSSL_ALGO_SHA1); // Check signature $ok = openssl_verify($data,$public_key,OPENSSL_ALGO_SHA1); echo "check #1: "; if ($ok == 1) { echo "signature ok (as it should be)\n"; } elseif ($ok == 0) { echo "bad (there's something wrong)\n"; } else { echo "ugly,error checking signature\n"; } $ok = openssl_verify('tampered'.$data,OPENSSL_ALGO_SHA1); echo "check #2: "; if ($ok == 1) { echo "ERROR: Data has been tampered,but signature is still valid! argh!\n"; } elseif ($ok == 0) { echo "bad signature (as it should be,since data has beent tampered)\n"; } else { echo "ugly,error checking signature\n"; } ?>
但我很想知道如何将其实现为URI请求.
以上是脚本宝典为你收集整理的php – 混淆了API签名的公钥和私钥对全部内容,希望文章能够帮你解决php – 混淆了API签名的公钥和私钥对所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。