Loading... # 前言 之前做了一个php通过RSA加密的一个文章 代码比较多也比较繁琐 所以现在新做了一个,放到了一个类里面 可以引用了直接调用,只需要配置公私钥即可 可以通过公私钥进行加解密 # 源码部分 ## Config.php ```php <?php //ps:公钥和私钥不需要起始符,且必须保持内容为同一行 //公钥内容 $pubkey_content = ""; //私钥内容 $prikey_content = ""; ?> ``` ## Keys.php ```php <?php //定义前缀 $pub_pre = '-----BEGIN PUBLIC KEY-----'; $pub_suf = '-----END PUBLIC KEY-----'; $pri_pre = '-----BEGIN RSA PRIVATE KEY-----'; $pri_suf = '-----END RSA PRIVATE KEY-----'; //证书内容 require_once "Config.php"; //组合公私钥 $pubkey = $pub_pre . "\n" . $pubkey_content . "\n" . $pub_suf; $prikey = $pri_pre . "\n" . $prikey_content . "\n" . $pri_suf; //加密解密部分 class Keys { //通过公钥加密方法 public function encrypts_pubkey($text) { global $pubkey; $result = ""; openssl_public_encrypt($text,$result,$pubkey); return base64_encode($result); } //通过私钥解密方法 public function decrypts_prikey($text) { global $prikey; $result = ""; openssl_private_decrypt(base64_decode($text),$result,$prikey); return $result; } //通过私钥加密方法 public function encrypts_prikey($text) { global $prikey; $result = ""; openssl_private_encrypt($text,$result,$prikey); return base64_encode($result); } //通过公钥解密方法 public function decrypts_pubkey($text) { global $pubkey; $result = ""; openssl_public_decrypt(base64_decode($text),$result,$pubkey); return $result; } } ``` # 使用这个类 在php中引用Keys.php 如下面代码所示: ```php <?php require_once "Keys.php"; //加密内容 $content = "晚夜的个人博客"; $keys = new Keys; echo $keys->encrypts_pubkey($content); ?> ``` 这个代码的意思就是用公钥加密一段内容 输出结果为:  想要解密时就将密文输进去,调用decrypts_prikey这个方法 如下面代码所示: ```php <?php require_once "Keys.php"; //加密内容 $content = "jODHYUmAXehrD5mC63HuNC4J8qkmbCTtqC1AHhgr4la5tmCr0R8oOlf/cdYgRs6dNVNrbMYgyrQcuGZYvNlPdPQ78zK6GcW/n60W/lXpAtpoOR15WqKK1LaEFru2arf1YF2cLvXgt2+G2nc2/Keo4lIoFs4TqYvlVjs/47ZoOvjeglkHIvtfYwaKgvNtDlXMo1uG7BXJ761jmeExxvSEaom8q02h/MHwe5mXP1/uajbt192DWt183KrRSz7k1Au7w8FhCYUpN6pd3Kd2SgBqkcpyqTL1zWkrGBNIawFpMsurvgsSjNQXj0+JOBsQ+1Y882Ys5WgTuLmrTwlebLJLjw=="; $keys = new Keys; echo $keys->decrypts_prikey($content); ?> ``` 输出结果即为“晚夜的个人博客“ 同样的,使用私钥加密和公钥解密只需要调用encrypts_prikey和decrypts_pubkey即可 最后修改:2024 年 08 月 26 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 5 如果觉得我的文章对你有用,请随意赞赏