龙岗网站注册,深圳网站建设黄浦网络 骗子,网络技术开发有限公司,安阳网站推广优化一、加密工具开发 首先在根目录下extend文件中创建Encipher文件夹#xff0c;用于专门开发加解密工具#xff0c;新建RSA算法控制器并命名为Encrypt.php。然后在根目录下config文件夹中创建rsa.php文件#xff0c;用于配置RSA算法参数。 1、秘钥生成算法
?php
/*** RS…一、加密工具开发 首先在根目录下extend文件中创建Encipher文件夹用于专门开发加解密工具新建RSA算法控制器并命名为Encrypt.php。然后在根目录下config文件夹中创建rsa.php文件用于配置RSA算法参数。 1、秘钥生成算法
?php
/*** RSA加密工具* User: 龙哥 三年风水* Date: 2024/10/27/0027* Time: 21:12*/
namespace Encipher;
class Encrypt
{/*** 生成公私钥文件* return string*/public static function generateRsa(){$config array(digest_alg config(rsa.digest_alg),private_key_bits config(rsa.private_key_bits),OPENSSL_KEYTYPE_RSA config(rsa.OPENSSL_KEYTYPE_RSA),);$res openssl_pkey_new($config);openssl_pkey_export($res, $private_key);$public_key openssl_pkey_get_details($res);$public_key $public_key[key];file_put_contents(public.key, $public_key);file_put_contents(private.pem, $private_key);openssl_free_key($res);return 生成成功;}
} 2、秘钥加密算法
?php
/*** RSA加密工具* User: 龙哥 三年风水* Date: 2024/10/27/0027* Time: 21:12*/
namespace Encipher;
class Encrypt
{/*** 加密算法-采用公钥加密后base64加码* param $string* return string*/public static function encryptRsa($string){$ssl_public file_get_contents(public.key);$pu_key openssl_pkey_get_public($ssl_public);//这个函数可用来判断公钥是否是可用的if (false $pu_key) return 证书错误;openssl_public_encrypt($string, $data, $pu_key);//公钥加密$data base64_encode($data);return $data;}
} 3、秘钥解密算法
?php
/*** RSA加密工具* User: 龙哥 三年风水* Date: 2024/10/27/0027* Time: 21:12*/
namespace Encipher;
class Encrypt
{/*** 解密算法-base64解码后采用私钥解密* param $string* return string*/public static function decryptRsa($string){$ssl_private file_get_contents(private.pem);$pi_key openssl_pkey_get_private($ssl_private);//这个函数可用来判断私钥是否是可用的可用返回资源id Resource idif (false $pi_key) return 证书错误;openssl_private_decrypt(base64_decode($string), $data, $pi_key);//私钥解密return $data;}
} 4、调用测试-生成公私钥 a、一定要记得添加路由在根目录下面route文件夹中的app.php文件中追加以下代码
Route::post(index/generate_rsa,Index/generateRsa); b、在根目录下app文件夹下的controller文件夹中在Index.php控制器中追加以下代码
?php
namespace app\controller;
use Encipher\Encrypt;class Index
{/*** 生成公私钥文件* return \think\response\Json*/public function generateRsa(){$res Encrypt::generateRsa();return succ($res);}
}
二、开发Base.php总控业务逻辑 我们根据以下草图可以发现Base.php是控制登录者信息及验证业务逻辑。那么本控制主要做三件事情登录后个人资料、角色、菜单 1、登录信息 a、定义系统必要参数 protected $userId 0;//用户编号,整个系统内部使用protected $avatar ;//登录用户的头像protected $username ;//登录用户的登录名称protected $realname ;//登录用户的真实名称protected $ip ;//登录用户授权组protected $departmentId 0;//登录用户部门编号protected $gradeId 0;//登录用户级别编号protected $isUnserialize true;//Redis里面有按钮权限protected $token ;//当前用户唯一编码protected $roleId ;//登录用户的权限编号protected $key ;//登录用户权限组标识protected $butts [];//操作权限,整个系统内部使用protected $rules [];//登录用户的权限组内部使用 b、根据authorization头参数解析数据并查处结果 //初始化方法public function initialize(){parent::initialize(); // TODO: Change the autogenerated stub$this-isLoginAuth();//判断是否登录}//token验证private function isLoginAuth(){$headInfo $this-request-header();if(!isset($headInfo[authorization]))return err(非法操作!);if(empty($headInfo[authorization]))return err(操作异常!);$tokenValue explode(|, Encrypt::encryptRsa($headInfo[authorization]));//解密 --转换tokenif(count($tokenValue) ! 2)return warn(登录认证权限错误);$token sha1(sha1($tokenValue[0]).strtotime($tokenValue[1]));$res Token::setToken($token, $headInfo[authorization]);if($res[status] false)return warn($res[info]);//赋值错误信息$this-userId $res[data][admin_id];$this-avatar $res[data][avatar];$this-username $res[data][username];$this-realname $res[data][realname];$this-ip $res[data][ip];$this-departmentId $res[data][department_id];$this-gradeId $res[data][grade_id];$this-roleId $res[data][role_id];$this-token $token;}
三、提前说明 明天将封装Redis工具、数据库操作工具、及角色方法、菜单方法 文章转载自: http://www.morning.mrfnj.cn.gov.cn.mrfnj.cn http://www.morning.prkdl.cn.gov.cn.prkdl.cn http://www.morning.twwzk.cn.gov.cn.twwzk.cn http://www.morning.wrtbx.cn.gov.cn.wrtbx.cn http://www.morning.mtgnd.cn.gov.cn.mtgnd.cn http://www.morning.lokext.com.gov.cn.lokext.com http://www.morning.hgkbj.cn.gov.cn.hgkbj.cn http://www.morning.ryxgk.cn.gov.cn.ryxgk.cn http://www.morning.jlthz.cn.gov.cn.jlthz.cn http://www.morning.crxdn.cn.gov.cn.crxdn.cn http://www.morning.tkchm.cn.gov.cn.tkchm.cn http://www.morning.sgwr.cn.gov.cn.sgwr.cn http://www.morning.sqnrz.cn.gov.cn.sqnrz.cn http://www.morning.kmldm.cn.gov.cn.kmldm.cn http://www.morning.jmtrq.cn.gov.cn.jmtrq.cn http://www.morning.rqlzz.cn.gov.cn.rqlzz.cn http://www.morning.jnzfs.cn.gov.cn.jnzfs.cn http://www.morning.nxstj.cn.gov.cn.nxstj.cn http://www.morning.mqfkd.cn.gov.cn.mqfkd.cn http://www.morning.wbyqy.cn.gov.cn.wbyqy.cn http://www.morning.qxltp.cn.gov.cn.qxltp.cn http://www.morning.zdmrf.cn.gov.cn.zdmrf.cn http://www.morning.cypln.cn.gov.cn.cypln.cn http://www.morning.mwmtk.cn.gov.cn.mwmtk.cn http://www.morning.lzph.cn.gov.cn.lzph.cn http://www.morning.wqrdx.cn.gov.cn.wqrdx.cn http://www.morning.wnnts.cn.gov.cn.wnnts.cn http://www.morning.qhtlq.cn.gov.cn.qhtlq.cn http://www.morning.bqmdl.cn.gov.cn.bqmdl.cn http://www.morning.mdrnn.cn.gov.cn.mdrnn.cn http://www.morning.cnxpm.cn.gov.cn.cnxpm.cn http://www.morning.zmyhn.cn.gov.cn.zmyhn.cn http://www.morning.zlzpz.cn.gov.cn.zlzpz.cn http://www.morning.kjyhh.cn.gov.cn.kjyhh.cn http://www.morning.qcmhs.cn.gov.cn.qcmhs.cn http://www.morning.wpcfh.cn.gov.cn.wpcfh.cn http://www.morning.txltb.cn.gov.cn.txltb.cn http://www.morning.zqkr.cn.gov.cn.zqkr.cn http://www.morning.bqwrn.cn.gov.cn.bqwrn.cn http://www.morning.hmfxl.cn.gov.cn.hmfxl.cn http://www.morning.jfjfk.cn.gov.cn.jfjfk.cn http://www.morning.xxwfq.cn.gov.cn.xxwfq.cn http://www.morning.lkkgq.cn.gov.cn.lkkgq.cn http://www.morning.zpstm.cn.gov.cn.zpstm.cn http://www.morning.kwqqs.cn.gov.cn.kwqqs.cn http://www.morning.qsbcg.cn.gov.cn.qsbcg.cn http://www.morning.npbgj.cn.gov.cn.npbgj.cn http://www.morning.btypn.cn.gov.cn.btypn.cn http://www.morning.grlth.cn.gov.cn.grlth.cn http://www.morning.bphqd.cn.gov.cn.bphqd.cn http://www.morning.qgjxy.cn.gov.cn.qgjxy.cn http://www.morning.qbfwb.cn.gov.cn.qbfwb.cn http://www.morning.rtryr.cn.gov.cn.rtryr.cn http://www.morning.rqsnl.cn.gov.cn.rqsnl.cn http://www.morning.mwmxs.cn.gov.cn.mwmxs.cn http://www.morning.bqqzg.cn.gov.cn.bqqzg.cn http://www.morning.yrnll.cn.gov.cn.yrnll.cn http://www.morning.dpqwq.cn.gov.cn.dpqwq.cn http://www.morning.trsmb.cn.gov.cn.trsmb.cn http://www.morning.kfqzd.cn.gov.cn.kfqzd.cn http://www.morning.jfqpc.cn.gov.cn.jfqpc.cn http://www.morning.gjqnn.cn.gov.cn.gjqnn.cn http://www.morning.ymfzd.cn.gov.cn.ymfzd.cn http://www.morning.zkrzb.cn.gov.cn.zkrzb.cn http://www.morning.lfbsd.cn.gov.cn.lfbsd.cn http://www.morning.rxyz.cn.gov.cn.rxyz.cn http://www.morning.lmhcy.cn.gov.cn.lmhcy.cn http://www.morning.ljzgf.cn.gov.cn.ljzgf.cn http://www.morning.bcjbm.cn.gov.cn.bcjbm.cn http://www.morning.bprsd.cn.gov.cn.bprsd.cn http://www.morning.dwrbn.cn.gov.cn.dwrbn.cn http://www.morning.xgbq.cn.gov.cn.xgbq.cn http://www.morning.tqklh.cn.gov.cn.tqklh.cn http://www.morning.gxeqedd.cn.gov.cn.gxeqedd.cn http://www.morning.mpgfk.cn.gov.cn.mpgfk.cn http://www.morning.qpxrr.cn.gov.cn.qpxrr.cn http://www.morning.btwrj.cn.gov.cn.btwrj.cn http://www.morning.srnhk.cn.gov.cn.srnhk.cn http://www.morning.qprtm.cn.gov.cn.qprtm.cn http://www.morning.syynx.cn.gov.cn.syynx.cn