当前位置:Gxlcms > PHP教程 > 实用的PHP带公钥加密类分享(每次加密结果都不一样哦),php加密_PHP教程

实用的PHP带公钥加密类分享(每次加密结果都不一样哦),php加密_PHP教程

时间:2021-07-01 10:21:17 帮助过:2人阅读

实用的PHP带公钥加密类分享(每次加密结果都不一样哦),php加密


WEB交互安全一直是个各大网站的首要解决方案,本文介绍的PHP加密类非常实用哦,带有公钥,这是最大的亮点,没有公钥是不能解密的,加密度非常高。

类代码:

<?php
/**
 * PHP加密类
 * 琼台博客
 */
class Jiami{
  // 公钥
  protected $key = 'lee'; 
  private function keyED($txt,$encrypt_key){
    $encrypt_key = md5($encrypt_key);
    $ctr=0;
    $tmp = '';
    for ($i=0;$ikey;
    }
    srand((double)microtime()*1000000);
    $encrypt_key = md5(rand(0,32000));
    $ctr=0;
    $tmp = '';
    for ($i=0;$ikeyED($tmp,$key);
  }
 
  public function decrypt($txt,$key=''){
    if(empty($key)){
      $key=$this->key;
    }
 
    $txt = $this->keyED($txt,$key);
    $tmp = '';
    for ($i=0;$ikey=$key;
  }
 
  public function getPK(){
    return $this->key;
  }
 
}

使用方法:

<?php
// 先包含加密类
require_once('jiami.class.php');
 
// 要加密的字符串
$string = 'http://www.bkjia.com';
 
// 实例化加密类
$jiami= new Jiami();
 
// 设置公钥
$jiami->setKey('qttc');
 
// 加密字符串
$enc = $jiami->encrypt($string,$jiami->getPK());
 
// 解密字符串
$dec = $jiami->decrypt($enc,$jiami->getPK());
 
echo '';
echo '加密前 : '.$string .'
'; echo '加密后 : '.$enc .'
'; echo '解密后 : '.$dec; ?>

页面执行结果

结果1:

结果2:

由以上结果可以看到,每次加密产生的加密字符串都不一样,这是随机的。
解密的时候,需要使用加密时的公钥,否则无法解密。如你这边加密公钥使用‘qttc',解密的时候,也需要使用这个'qttc'作为公钥去解密,否则无法解密。


对称密钥加密技术与非对称密钥加密技术的不同表现在什地方?

对称加密加密速度比非对称加密快,对称加密密钥不能公开而非对称的私钥必须保密公钥可以公开,关于管理和发布对称加密比较复杂,关于算法对称加密通常用DES,AES,IDEA。非对称用RSA
 

以下对于非对称密钥加密说法正确的是

C.加密密钥和解密密钥匙相同的
 

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/866662.htmlTechArticle实用的PHP带公钥加密类分享(每次加密结果都不一样哦),php加密 WEB交互安全一直是个各大网站的首要解决方案,本文介绍的PHP加密类非常实...

人气教程排行