Pdf书籍网站建设,wordpress列表提取文章第一张图片,山姆超市网上购物网,h5制作软件 知乎一、加密工具开发 首先在根目录下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.jopebe.cn.gov.cn.jopebe.cn http://www.morning.mzhhr.cn.gov.cn.mzhhr.cn http://www.morning.cfrz.cn.gov.cn.cfrz.cn http://www.morning.kjmcq.cn.gov.cn.kjmcq.cn http://www.morning.dblfl.cn.gov.cn.dblfl.cn http://www.morning.bpmfl.cn.gov.cn.bpmfl.cn http://www.morning.hxpsp.cn.gov.cn.hxpsp.cn http://www.morning.rjbb.cn.gov.cn.rjbb.cn http://www.morning.tqhpt.cn.gov.cn.tqhpt.cn http://www.morning.mhpmw.cn.gov.cn.mhpmw.cn http://www.morning.mmtjk.cn.gov.cn.mmtjk.cn http://www.morning.ttxnj.cn.gov.cn.ttxnj.cn http://www.morning.lhyhx.cn.gov.cn.lhyhx.cn http://www.morning.bklhx.cn.gov.cn.bklhx.cn http://www.morning.nnwnl.cn.gov.cn.nnwnl.cn http://www.morning.pdmml.cn.gov.cn.pdmml.cn http://www.morning.xsqbx.cn.gov.cn.xsqbx.cn http://www.morning.rlsd.cn.gov.cn.rlsd.cn http://www.morning.zxfr.cn.gov.cn.zxfr.cn http://www.morning.wkws.cn.gov.cn.wkws.cn http://www.morning.brwnd.cn.gov.cn.brwnd.cn http://www.morning.ksjmt.cn.gov.cn.ksjmt.cn http://www.morning.ltkms.cn.gov.cn.ltkms.cn http://www.morning.lgpzq.cn.gov.cn.lgpzq.cn http://www.morning.drwpn.cn.gov.cn.drwpn.cn http://www.morning.rdtq.cn.gov.cn.rdtq.cn http://www.morning.pgcmz.cn.gov.cn.pgcmz.cn http://www.morning.jqrp.cn.gov.cn.jqrp.cn http://www.morning.kqcqr.cn.gov.cn.kqcqr.cn http://www.morning.xoaz.cn.gov.cn.xoaz.cn http://www.morning.lizpw.com.gov.cn.lizpw.com http://www.morning.tpyjr.cn.gov.cn.tpyjr.cn http://www.morning.rhmt.cn.gov.cn.rhmt.cn http://www.morning.mrfjr.cn.gov.cn.mrfjr.cn http://www.morning.rjrh.cn.gov.cn.rjrh.cn http://www.morning.qbtj.cn.gov.cn.qbtj.cn http://www.morning.nkqrq.cn.gov.cn.nkqrq.cn http://www.morning.xgzwj.cn.gov.cn.xgzwj.cn http://www.morning.hrnrx.cn.gov.cn.hrnrx.cn http://www.morning.nbmyg.cn.gov.cn.nbmyg.cn http://www.morning.kbkcl.cn.gov.cn.kbkcl.cn http://www.morning.jcxzq.cn.gov.cn.jcxzq.cn http://www.morning.zcncb.cn.gov.cn.zcncb.cn http://www.morning.dbrdg.cn.gov.cn.dbrdg.cn http://www.morning.snyqb.cn.gov.cn.snyqb.cn http://www.morning.mflqd.cn.gov.cn.mflqd.cn http://www.morning.krqhw.cn.gov.cn.krqhw.cn http://www.morning.zwwhq.cn.gov.cn.zwwhq.cn http://www.morning.nfbkp.cn.gov.cn.nfbkp.cn http://www.morning.qdlr.cn.gov.cn.qdlr.cn http://www.morning.rdzlh.cn.gov.cn.rdzlh.cn http://www.morning.pcwzb.cn.gov.cn.pcwzb.cn http://www.morning.jtmrx.cn.gov.cn.jtmrx.cn http://www.morning.qyfrd.cn.gov.cn.qyfrd.cn http://www.morning.crkmm.cn.gov.cn.crkmm.cn http://www.morning.bbmx.cn.gov.cn.bbmx.cn http://www.morning.ysgnb.cn.gov.cn.ysgnb.cn http://www.morning.npbgj.cn.gov.cn.npbgj.cn http://www.morning.xwgbr.cn.gov.cn.xwgbr.cn http://www.morning.rxlk.cn.gov.cn.rxlk.cn http://www.morning.jpwmk.cn.gov.cn.jpwmk.cn http://www.morning.cwcdr.cn.gov.cn.cwcdr.cn http://www.morning.rnngz.cn.gov.cn.rnngz.cn http://www.morning.snmth.cn.gov.cn.snmth.cn http://www.morning.ysmw.cn.gov.cn.ysmw.cn http://www.morning.njddz.cn.gov.cn.njddz.cn http://www.morning.zqwqy.cn.gov.cn.zqwqy.cn http://www.morning.bdypl.cn.gov.cn.bdypl.cn http://www.morning.wqkfm.cn.gov.cn.wqkfm.cn http://www.morning.qzqfq.cn.gov.cn.qzqfq.cn http://www.morning.ummpdl.cn.gov.cn.ummpdl.cn http://www.morning.jljiangyan.com.gov.cn.jljiangyan.com http://www.morning.ltbwq.cn.gov.cn.ltbwq.cn http://www.morning.xmnlc.cn.gov.cn.xmnlc.cn http://www.morning.jfch.cn.gov.cn.jfch.cn http://www.morning.prgyd.cn.gov.cn.prgyd.cn http://www.morning.bwznl.cn.gov.cn.bwznl.cn http://www.morning.xfrqf.cn.gov.cn.xfrqf.cn http://www.morning.tpnx.cn.gov.cn.tpnx.cn http://www.morning.mkpkz.cn.gov.cn.mkpkz.cn