php基于openssl的rsa加密解密示例
发布时间:2020-05-23 12:16:05 所属栏目:PHP 来源:互联网
导读:这篇文章主要介绍了php基于openssl的rsa加密解密方法,结合实例形式分析了rsa加密解密的原理与具体实现技巧,代码注释中给出了相关的具体说明,需要的朋友可以参考下
|
本文实例讲述了php基于openssl的rsa加密解密。分享给大家供大家参考,具体如下: "D:/phpserver/Lighttpd/openssl.cnf",//'config' =>'D:/phpStudy/Lighttpd/OpenSSL.cnf','private_key_bits' => 1024,// Size of Key. 'private_key_type' => OPENSSL_KEYTYPE_RSA ); //$res = openssl_pkey_new(); $res = openssl_pkey_new($config); // Get private key // openssl_pkey_export($res,$privkey,"PassPhrase number 1" ); openssl_pkey_export($res,$privkey); var_dump($privkey); // Get public key $pubkey=openssl_pkey_get_details($res); // echo "------------>"; // print_r($pubkey["rsa"]); // $bin_str=$pubkey["rsa"]["n"]; // print_r($bin_str); // echo " "; // //echo $bin_hex_str = pack("H*",bin2hex($bin_str)); // echo $bin_hex_str = bin2hex($bin_str); // echo " ------------< "; $pubkey=$pubkey["key"]; // var_dump($privkey); // var_dump($pubkey); echo $privkey." "; echo $pubkey." "; ?> ---------------------- "; $data = "woshizhu";//原始数据 $encrypted = ""; $decrypted = ""; echo "source data:",$data," "; echo "private key encrypt:n"; openssl_private_encrypt($data,$encrypted,$pi_key);//私钥加密 $encrypted = base64_encode($encrypted);//加密后的内容通常含有特殊字符,需要编码转换下,在网络间通过url传输时要注意base64编码是否是url安全的 echo " ----------私钥加密------------ "; echo $encrypted," "; echo " ----------私钥加密------------ "; echo "public key decrypt:n"; $decrypted=""; openssl_public_decrypt(base64_decode($encrypted),$decrypted,$pu_key);//私钥加密的内容通过公钥可用解密出来 echo $decrypted,"n"; echo "---------------------------------------n"; echo "public key encrypt:n"; openssl_public_encrypt($data,$pu_key);//公钥加密 $encrypted = base64_encode($encrypted); echo $encrypted,"n"; $decrypted=""; //$encrypted="JBeapcp9iWWYJYElgqtrZxfxM4wVkCaSn/oJZ7NjfR23o76fdbxEXpf+PGWACw3PeTdObwL4108wR3ihKmy2iYkIExGjBYyvx2w9aHies8ZsOIP3LjiMHYTm93Rr8Sc5XxHWQc3Dhbq16JWHYZ2d+RrOpHd4x84GF3JXwivrGO4="; echo "private key decrypt:n"; openssl_private_decrypt(base64_decode($encrypted),$pi_key);//私钥解密 echo "--->:".$decrypted,"n"; ?> 密码安全性在线检测:高强度密码生成器:http://tools.jb51.cc/password/Createh3PasswordMD5在线加密工具:http://tools.jb51.cc/password/CreateMD5Password迅雷、快车、旋风URL加密/解密工具:http://tools.jb51.cc/password/urlrethunder在线散列/哈希算法加密工具:http://tools.jb51.cc/password/hash_encrypt更多关于PHP相关内容可查看本站专题:《》、《》、《》、《》、《》、《》、《》、《》、《》及《》 希望本文所述对大家PHP程序设计有所帮助。 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
