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 \yii\base\Security the security application component. */ public function getSecurity() { return $this->get('security'); }这个security是当前目录下 Security.php(安全)中
有兴趣的朋友可以试着研究其中的加密方式哦!!