首页 > 其他分享 >yii2 密码和加解密

yii2 密码和加解密

时间:2024-03-30 14:58:03浏览次数:18  
标签:getSecurity dump Yii app 加解密 secretKey 密码 yii2 data

yii2 密码和加解密

生成hash

$hash = Yii::$app->getSecurity()->generatePasswordHash($password);

验证hash

if (Yii::$app->getSecurity()->validatePassword($password, $hash)) {
    // all good, logging user in
} else {
    // wrong password
}

生成随机字符串

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

加密

$secretKey = 'q3TFrVdjc2CQJPHlSJtY3Sd1QEX37ZUR';
$data = [
            'name'=>'huyongjian',
            'password'=>'123456'
        ];
$encryptedData = Yii::$app->getSecurity()->encryptByPassword(json_encode($data), $secretKey);
var_dump($encryptedData);

解密

$data = Yii::$app->getSecurity()->decryptByPassword($encryptedData, $secretKey);
var_dump($data);
echo "<pre>";
var_dump(json_decode($data,true));

数据传输前添加hash

$secretKey = 'q3TFrVdjc2CQJPHlSJtY3Sd1QEX37ZUR';
$data = [
            'name'=>'huyongjian',
            'password'=>'123456'
        ];
$data = Yii::$app->getSecurity()->hashData(json_encode($data), $secretKey);
var_dump($data);

校验数据Hash完整性

$data = 'ce8ea3740e7859f0f3e1e4a30d5e0b4be01c6d1cc7eae5c9a24c3186772c381e{"name":"huyongjian","password":"123456"}';
$data = Yii::$app->getSecurity()->validateData($data, $secretKey);
var_dump(json_decode($data,true));

标签:getSecurity,dump,Yii,app,加解密,secretKey,密码,yii2,data
From: https://www.cnblogs.com/hu308830232/p/18105475

相关文章

  • yii2-分页
    yii2-分页使用ActiveDataProvider和GridViewcontrollerpublicfunctionactionIndex(){$dataProvider=newActiveDataProvider(['query'=>ArticleClass::find(),'pagination'=>['......
  • Yii2-助手类(StringHelper)
    Yii2-助手(StringHelper)截断字符串echoStringHelper::truncate('中文截断字符',4);//'中文截断...'字符串转数组StringHelper::explode('thisisstring','');//[0=>'this'1=>'is'2=>'string......
  • Yii2-助手类(Html)
    Yii2-助手类(Html)引入命名空间useyii\helpers\Html;使用<?php//【一】表单:Html::beginForm(提交地址,提交方法,属性数组);?><?=Html::beginForm('','post',['id'=>'form','class'=>'form','data'=&g......
  • yii2 小部件
    yii2小部件小部件基本上在views中使用,在视图中可调用yii\base\Widget::widget() 方法使用小部件。继承yii\base\Widget类并覆盖yii\base\Widget::init() 和/或yii\base\Widget::run() 方法可创建小部件。创建小部件<?phpnamespaceapp\widgets;useyii\base\Wid......
  • yii2依赖注入
    yii2依赖注入所谓依赖注入,实质上就是当某个类对象需要使用另一个类实例的时候,不在类内部实例化另一个类,而将实例化的过程放在类外面实现,实例化完成后再赋值给类对象的某个属性。 这样的话该类不需要知道赋值给它的属性的对象具体属于哪个类的,当需要改变这个属性的类型的时候,无需......
  • yii2事件
    yii2事件事件可以将自定义代码“注入”到现有代码中的特定执行点。1yii\base\Event封装了与时间相关的有关数据并提供了一些功能函数作为辅助classEventextendsObject{public$name;//事件名public$sender;//事件发布者,通常是......
  • Yii2验证器Validator
    Yii2验证器Validator控制器publicfunctionactionIndex(){$data=['LoginForm'=>['username'=>'huyongjian','password'=>'1234']];$model=newLoginForm();$model->load($......
  • yii2-队列使用
    yii2-队列使用安装yii2-queuecomposerrequireyiisoft/yii2-queue安装yii2-rediscomposerrequireyiisoft/yii2-redis控制台配置文件console.php和web.php'redis'=>['class'=>'yii\redis\Connection',&......
  • Yii2 过滤器
    Yii2过滤器过滤器AccessControllerAccessControl基于一组规则提供简单的访问控制/***{@inheritdoc}*/publicfunctionbehaviors(){return['access'=>['class'=>AccessControl::class,......
  • [NSSRound#19 Basic]bestkasscn的超级简单密码
    题目:fromCrypto.Util.numberimport*importgmpy2fromfunctoolsimportreducefromsecretimportflagp=getPrime(1024)i=0whileTrue:r=p*5+iifisPrime(r):i=0breakelse:i+=1whileTrue:q=p*......