php 中生成公私钥及加解密过程
2011-10-10 17:57
309 查看
$configargs = array( 'config' => 'C:\Users\chengxt\Desktop\PHPnow-1.5.6\PHPnow-1.5.6\Apache-22\bin\openssl.cnf', //valid openssl.cnf // 'digest_alg' => 'md5', // 'x509_extensions' => 'v3_ca', // 'req_extensions' => 'v3_req', // 'private_key_bits' => 1024, // 'private_key_type' => OPENSSL_KEYTYPE_RSA, // 'encrypt_key' => false, ); $plaintext = "Hello"; //create the keypair $res=openssl_pkey_new($configargs); if(empty($res)){ echo "error: no key was generated by openssl_pkey_new()"; echo openssl_error_string(); }else{ echo "a private key was generated by openssl_pkey_new()"; } //get private key openssl_pkey_export($res, $privkey,null,$configargs); //$privkey = openssl_pkey_get_private($pem); //get key from pem format data, $pem = file path or pem string //get public key $pubkey=openssl_pkey_get_details($res); $pubkey=$pubkey["key"]; //encrypt & decrypt openssl_public_encrypt($plaintext,$crypted,$pubkey); openssl_private_decrypt($crypted,$decrypted,$privkey); //output key file file_put_contents("pub.key",$pubkey); file_put_contents("pri.key",$privkey); //print test result echo "<h1>Private Key</h1><pre>$privkey</pre>"; echo "<h1>Public Key</h1><pre>$pubkey</pre>"; echo "<h1>Plaintext</h1><pre>$plaintext</pre>"; echo "<h1>Crypted</h1><pre>$crypted</pre>"; echo "<h1>Decrypted</h1><pre>$decrypted</pre>";
相关文章推荐
- PHP通过OpenSSL生成证书、密钥并且加密解密数据,以及公钥,私钥和数字签名的理解
- openssl生成公钥私钥对 加解密
- RSA公钥和私钥的生成(PHP\Android\iOS),数据传输的安全性
- Java OpenSSL生成的RSA公私钥进行数据加解密详细介绍
- PHP中使用OpenSSL生成证书及加密解密
- PHP通过OpenSSL生成证书、密钥并且加密解密数据
- php 生成加密公钥加密私钥实例详解
- php公钥加密和私钥解密
- Java OpenSSL生成的RSA公私钥进行数据加解密详细介绍
- .NET生成RSA公钥和私钥-加密解密示例
- PHP RSA 算法生成公钥和私钥
- 使用rsa公钥对字符串加密并通过私钥解密全过程
- php借助linux脚本生成加密的zip并可以解密
- ios php RSA 非对称加密解密 der 和pem生成
- Java中不依赖于第三方库使用OpenSSL生成的RSA公私钥进行数据加解密
- php中session_id()函数详细介绍,会话id生成过程及session id长度
- php简单静态页生成过程
- AES加解密在php接口请求过程中的应用
- 浅谈 PHP 神盾的解密过程
- PHP RSA公约私钥加密解密示例