Yii2加密和Mysql

时间:2018-05-23 21:12:06

标签: mysql encryption yii2

我希望有人能帮助我。

我通过使用Yii2加密/解密功能加密将个人数据保存到MYSQL中,测试时不会将内容保存到数据库中。

然而,将内容保存到数据库并将其检索回来似乎出了问题,因为我无法对其进行解密。

我的MYSQL方案就是这个

CREATE TABLE IF NOT EXISTS `customer` (
`customer_id` int(11) NOT NULL,
`customerHash` varchar(32) COLLATE utf8_bin DEFAULT NULL,
  `customerDate` date DEFAULT NULL,
  `customerTime` time DEFAULT NULL,
  `customerUpdated` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  `customerEmail` varchar(255) COLLATE utf8_bin DEFAULT NULL,
  `customerPassword` varchar(45) COLLATE utf8_bin DEFAULT NULL,
  `customerToken` varchar(255) COLLATE utf8_bin DEFAULT NULL,
  `customerAddress` varchar(255) COLLATE utf8_bin DEFAULT NULL,
  `customerPhone` varchar(255) COLLATE utf8_bin DEFAULT NULL,
  `customerPostcode` varchar(255) COLLATE utf8_bin DEFAULT NULL,
  `customerName` blob,
  `customerSurname` varchar(255) COLLATE utf8_bin DEFAULT NULL
) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;

Yii代码   加密

        $request=Yii::$app->request;
        $hash=Yii::$app->getSecurity()->generateRandomString();
        $model->customerHash=$hash;
        $model->customerName=Yii::$app->getSecurity()->encryptByKey($request->post('customerName'), $hash);

解密

<? echo"Decode : ".Yii::$app->getSecurity()->decryptByKey($model->customerName, $model->customerHash);?>

欢迎任何帮助。

由于

0 个答案:

没有答案