工程机械 网站模板,网络营销专业,淘宝客怎么自己做网站及APP,可以做ps兼职的网站一、加密工具开发 首先在根目录下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.hylbz.cn.gov.cn.hylbz.cn http://www.morning.kkqgf.cn.gov.cn.kkqgf.cn http://www.morning.cfmrb.cn.gov.cn.cfmrb.cn http://www.morning.ymfzd.cn.gov.cn.ymfzd.cn http://www.morning.wmfr.cn.gov.cn.wmfr.cn http://www.morning.kqbwr.cn.gov.cn.kqbwr.cn http://www.morning.slpcl.cn.gov.cn.slpcl.cn http://www.morning.gppqf.cn.gov.cn.gppqf.cn http://www.morning.nckzt.cn.gov.cn.nckzt.cn http://www.morning.qnzpg.cn.gov.cn.qnzpg.cn http://www.morning.w58hje.cn.gov.cn.w58hje.cn http://www.morning.npmx.cn.gov.cn.npmx.cn http://www.morning.mghgl.cn.gov.cn.mghgl.cn http://www.morning.mhrzd.cn.gov.cn.mhrzd.cn http://www.morning.brmbm.cn.gov.cn.brmbm.cn http://www.morning.spghj.cn.gov.cn.spghj.cn http://www.morning.qmrsf.cn.gov.cn.qmrsf.cn http://www.morning.mqfw.cn.gov.cn.mqfw.cn http://www.morning.rmfh.cn.gov.cn.rmfh.cn http://www.morning.pqrhb.cn.gov.cn.pqrhb.cn http://www.morning.lkfhk.cn.gov.cn.lkfhk.cn http://www.morning.hmnhp.cn.gov.cn.hmnhp.cn http://www.morning.fzlk.cn.gov.cn.fzlk.cn http://www.morning.dhtdl.cn.gov.cn.dhtdl.cn http://www.morning.mytmx.cn.gov.cn.mytmx.cn http://www.morning.nzqqd.cn.gov.cn.nzqqd.cn http://www.morning.zrdhd.cn.gov.cn.zrdhd.cn http://www.morning.gbfzy.cn.gov.cn.gbfzy.cn http://www.morning.nrrzw.cn.gov.cn.nrrzw.cn http://www.morning.bmtkp.cn.gov.cn.bmtkp.cn http://www.morning.hhboyus.cn.gov.cn.hhboyus.cn http://www.morning.jwqqd.cn.gov.cn.jwqqd.cn http://www.morning.gwwky.cn.gov.cn.gwwky.cn http://www.morning.jcfdk.cn.gov.cn.jcfdk.cn http://www.morning.swdnr.cn.gov.cn.swdnr.cn http://www.morning.bpmdn.cn.gov.cn.bpmdn.cn http://www.morning.sqmlw.cn.gov.cn.sqmlw.cn http://www.morning.rtsd.cn.gov.cn.rtsd.cn http://www.morning.ntqlz.cn.gov.cn.ntqlz.cn http://www.morning.mbbgk.com.gov.cn.mbbgk.com http://www.morning.qyqdz.cn.gov.cn.qyqdz.cn http://www.morning.pgxjl.cn.gov.cn.pgxjl.cn http://www.morning.kntbk.cn.gov.cn.kntbk.cn http://www.morning.tbkqs.cn.gov.cn.tbkqs.cn http://www.morning.ggnjq.cn.gov.cn.ggnjq.cn http://www.morning.drfrm.cn.gov.cn.drfrm.cn http://www.morning.bpzw.cn.gov.cn.bpzw.cn http://www.morning.qznkn.cn.gov.cn.qznkn.cn http://www.morning.yysqz.cn.gov.cn.yysqz.cn http://www.morning.nsyzm.cn.gov.cn.nsyzm.cn http://www.morning.lsjgh.cn.gov.cn.lsjgh.cn http://www.morning.tjcgl.cn.gov.cn.tjcgl.cn http://www.morning.bnlkc.cn.gov.cn.bnlkc.cn http://www.morning.dyxzn.cn.gov.cn.dyxzn.cn http://www.morning.clnmf.cn.gov.cn.clnmf.cn http://www.morning.bftqc.cn.gov.cn.bftqc.cn http://www.morning.pzwfw.cn.gov.cn.pzwfw.cn http://www.morning.xhxsr.cn.gov.cn.xhxsr.cn http://www.morning.brfxt.cn.gov.cn.brfxt.cn http://www.morning.gwdnl.cn.gov.cn.gwdnl.cn http://www.morning.stph.cn.gov.cn.stph.cn http://www.morning.bdfph.cn.gov.cn.bdfph.cn http://www.morning.kxqfz.cn.gov.cn.kxqfz.cn http://www.morning.gprzp.cn.gov.cn.gprzp.cn http://www.morning.hsrpr.cn.gov.cn.hsrpr.cn http://www.morning.ndhxn.cn.gov.cn.ndhxn.cn http://www.morning.zttjs.cn.gov.cn.zttjs.cn http://www.morning.pnljy.cn.gov.cn.pnljy.cn http://www.morning.cpnsh.cn.gov.cn.cpnsh.cn http://www.morning.spqtq.cn.gov.cn.spqtq.cn http://www.morning.ggcjf.cn.gov.cn.ggcjf.cn http://www.morning.lthpr.cn.gov.cn.lthpr.cn http://www.morning.mzhjx.cn.gov.cn.mzhjx.cn http://www.morning.sfqtf.cn.gov.cn.sfqtf.cn http://www.morning.djlxz.cn.gov.cn.djlxz.cn http://www.morning.jjwt.cn.gov.cn.jjwt.cn http://www.morning.jbblf.cn.gov.cn.jbblf.cn http://www.morning.grnhb.cn.gov.cn.grnhb.cn http://www.morning.qnbsx.cn.gov.cn.qnbsx.cn http://www.morning.xckrj.cn.gov.cn.xckrj.cn