入门客AI创业平台(我带你入门,你带我飞行)
博文笔记

YII2框架安全篇

创建时间:2016-11-10 投稿人: 浏览次数:1720

YII2框架真的是一款十分强大的框架,相对于TP和CI来说,功能更加完善,更加安全

那么我们在功能完成的同时,安全是重中之重

下面我们就来看看YII框架中有哪些加密的方法!!

     

1、首先我们在做用户密码加密的时候我们一般都会采用md5来进行加密,在YII2框架中有一个加密方式比md5更加复杂

     //哈希加密

  $password="123";
  $hash = Yii::$app->getSecurity()->generatePasswordHash($password);
    // var_dump($hash);
    //$2y$13$Jxhmtb7XE8TxSs4cxBcJuug9a0U00AMyCnnG3JMNfSZcsUx.cfYYe

  同时YII2框架中还有验证pwd方法

$password="123";
$hash="$2y$13$Jxhmtb7XE8TxSs4cxBcJuug9a0U00AMyCnnG3JMNfSZcsUx.cfYYe";
if (Yii::$app->getSecurity()->validatePassword($password,$hash)){
           echo "yes";
}else {    
           echo "no";
}
2、YII2框架中也有这自己的加密和解密方法

$secretKey="haiyong";
$data="123";
   //加密
   $encryptedData = Yii::$app->getSecurity()->encryptByPassword($data, $secretKey);
  //解密
  $data = Yii::$app->getSecurity()->decryptByPassword($encryptedData, $secretKey);
  var_dump($data);
3、还有随机数生成方法

$key = Yii::$app->getSecurity()->generateRandomString();

我们不难看出来这些都是调用应用下的   getSecurity()方法 那么这个方法在哪里?

  目录 vendor/yiisoft/yii2/base/Application.php 中

/**
 * Returns the security component.
 * @return yiiaseSecurity the security application component.
 */
public function getSecurity()
{
    return $this->get("security");
}
这个security是当前目录下Security.php(安全)中

有兴趣的朋友可以试着研究其中的加密方式哦!!



声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。