param

Aes加解密,php

匿名 (未验证) 提交于 2019-12-02 22:10:10
Aes类库 <?php namespace Aes; class Aes { /** * var string $method 加解密方法,可通过openssl_get_cipher_methods()获得 */ protected $method; /** * var string $secret_key 加解密的密钥 */ protected $secret_key; /** * var string $iv 加解密的向量,有些方法需要设置比如CBC */ protected $iv; /** * var string $options (不知道怎么解释,目前设置为0没什么问题) */ protected $options; /** * 构造函数 * * @param string $key 密钥 * @param string $method 加密方式 * @param string $iv iv向量 * @param mixed $options 还不是很清楚 * */ public function __construct($key, $method = 'AES-128-ECB', $iv = '', $options = 0) { // key是必须要设置的 $this->secret_key = isset($key) ? $key : 'morefun';

介绍三种PHP加密解密算法

匿名 (未验证) 提交于 2019-12-02 22:10:10
PHP加密解密算法 这里主要介绍三种常用的加密解密算法: 方法一: 1 /** 2 * @param $string 要加密/解密的字符串 3 * @param string $operation 类型,ENCODE 加密;DECODE 解密 4 * @param string $key 密匙 5 * @param int $expiry 有效期 6 * @return string 7 */ 8 function authcode($string, $operation = 'DECODE', $key = 'encrypt', $expiry = 0) 9 { 10 // 动态密匙长度,相同的明文会生成不同密文就是依靠动态密匙 11 $ckey_length = 4; 12 // 密匙 13 $key = md5($key ? $key : $GLOBALS['discuz_auth_key']); 14 // 密匙a会参与加解密 15 $keya = md5(substr($key, 0, 16)); 16 // 密匙b会用来做数据完整性验证 17 $keyb = md5(substr($key, 16, 16)); 18 // 密匙c用于变化生成的密文 19 $keyc = $ckey_length ? ($operation == 'DECODE' ? substr(

PHP无限极分类原理

匿名 (未验证) 提交于 2019-12-02 22:10:10
1.递归:程序调用自身的编程技巧称为递归 2.案例: /** * @param 递归 $[name] */ function deeploop(&$i=1){ echo $i; $i++; if($i < 10){ deeploop($i); } } deeploop(); 结果:123456789 3.global /** * @param 递归 $[name] */ $i = 1; function deeploop(){ global $i; //Global的作用是定义全局变量,但是这个全局变量不是应用于整个网站,而是应用于当前页面,包括include或require的所有文件。 echo $i; $i++; if($i < 10){ deeploop($i); } } deeploop(); 4.static /** * @param 递归 $[name] */ function deeploop(){ static $i; echo $i; $i++; if($i < 10){ deeploop($i); } } deeploop(); 5.说白了递归就是一个循环,用循环实现和递归实现是同样的效果。 /** * @param 递归 $[name] */ for($i=1;$i<10;$i++){ echo $i; } function deeploop(){

微信支付回调验证签名处理

匿名 (未验证) 提交于 2019-12-02 22:10:10
微信支付回调验证签名:一定要验证签名,可能不造成伪造数据,或者数据库造到灌水; <?php /** * 微信支付回调类 * @name CallbackAction.class.php * @author yangzl * @date(20180820) */ class CallbackAction extends Action{ /** * @param 获取微信支付回调接口 * @return [type] [descripti * @date(20180820) * @author yangzl */ public function getPayMentCallBack(){ $curl_request = $_SERVER['REQUEST_METHOD']; //获取请求方式 if($curl_request == 'POST'){ $xmldata=file_get_contents("php://input"); libxml_disable_entity_loader(true); //把微信支付回调结果写入日志 $this->writeLogs(RUNTIME_PATH.'Logs/','getPayMentCallBack',"\r\n-------------------".date('Y-m-d H:i:s')."微信支付回调结果---------\r\n

winform注册功能

匿名 (未验证) 提交于 2019-12-02 22:06:11
注册按钮事件: private void btnRegister_Click(object sender, EventArgs e) { string username = txtUserName.Text; string userpwd = txtUserPwd.Text; string tel = txtTel.Text; string email = txtEmail.Text; string name = txtName.Text; int dept = Convert.ToInt32(txtDept.Text); if (string.IsNullOrEmpty(username) && string.IsNullOrEmpty(userpwd)) { MessageBox.Show("用户名和密码不能为空!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information); return; } string sql = "INSERT INTO [UserInfo]([username],[userpwd],[name],[deptId],[tel],[email],[state],[registerTime],[lastLoginTime],[remark])" + "VALUES(@username,@userpwd,

.NET Core开发日志――Filter

匿名 (未验证) 提交于 2019-12-02 22:06:11
ASP.NET Core MVC中的Filter作用是在请求处理管道的某些阶段之前或之后可以运行特定的代码。 Filter特性在之前的ASP.NET MVC中已经出现,但过去只有Authorization,Exception,Action,Result四种类型,现在又增加了一种Resource类型。所以共计五种。 Resource类型Filter在Authorization类型Filter之后执行,但又在其它类型的Filter之前。且执行顺序也在Model Binding之前,所以可以对Model Binding产生影响。 ASP.NET Core MVC框架中可以看到有ConsumesAttribute及FormatFilter两种实现IResourceFilter接口的类。 ConsumesAttribute会按请求中的Content-Type(内容类型)进行过滤,而FormatFilter能对路由或路径中设置了format值的请求作过滤。 一旦不符合要求,就对ResourceExecutingContext的Result属性设置,这样可以达到短路效果,阻止进行下面的处理。 ConsumesAttribute类的例子: public void OnResourceExecuting(ResourceExecutingContext context) { ... // Only

C#实现.ini文件读写操作

匿名 (未验证) 提交于 2019-12-02 22:06:11
1、ini文件是什么? https://baike.baidu.com/item/ini%E6%96%87%E4%BB%B6/9718973?fr=aladdin 2、C#语言实现ini文件的读写操作 1 /// <summary> 2 /// 配置文件 .ini操作类 3 /// </summary> 4 public class IniFileUtils 5 { 6 /// <summary> 7 /// 写入INI文件 8 /// </summary> 9 /// <param name="section">节点名称[如TypeName]</param> 10 /// <param name="key">键</param> 11 /// <param name="val">值</param> 12 /// <param name="filepath">文件路径</param> 13 /// <returns></returns> 14 [DllImport("kernel32")] 15 private static extern long WritePrivateProfileString(string section, string key, string val, string filepath); 16 /// <summary> 17 /// 读取INI文件 18

mysql 中的存储过程

匿名 (未验证) 提交于 2019-12-02 22:06:11
创建一个简单的存储过程 存储过程proc_adder功能很简单,两个整型输入参数a和b,一个整型输出参数sum,功能就是计算输入参数a和b的结果,赋值给输出参数sum; 几点说明: DELIMITER ;;:之前说过了,把默认的输入的结束符;替换成;;。 DEFINER:创建者; call : 调用存储过程,用 call 命令 -- ---------------------------- -- Procedure structure for `proc_adder` -- ---------------------------- DROP PROCEDURE IF EXISTS `proc_adder`; DELIMITER ;; CREATE DEFINER=`root`@`localhost` PROCEDURE `proc_adder`(IN a int, IN b int, OUT sum int) BEGIN #Routine body goes here... DECLARE c int; if a is null then set a = 0; end if; if b is null then set b = 0; end if; set sum = a + b; END ;; DELIMITER ;    执行以上存储结果,验证是否正确,如下图,结果OK:

linux xlearn安装

匿名 (未验证) 提交于 2019-12-02 21:56:30
1.通用性好,包括主流的算法(lr, fm, ffm 等),用户不用再切换于不同软件之间 2.性能好,测试 xLearn 可以比 libfm 快13倍,比 libffm 和 liblinear 快5倍 3.易用性和灵活性,xLearn 提供简单的 python 接口,并且集合了机器学习比赛中许多有用的功能 4.可扩展性好。xLearn 提供 out-of-core 计算,利用外存计算可以在单机处理 1TB 数据 目前xlearn只支持,Linux和Mac,Windows用户可能要等等了。以下操作在Ubuntu系统进行。 建议安装GCC,Clang下载文件大,而且安装过程出现问题,便直接安装的GCC。 sudo apt-get install build-essential 测试是否安装成功: gcc --version 出现以下界面代表安装成功: gcc (Ubuntu 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609 Copyright (C) 2015 Free Software Foundation, Inc. 我实在不明白为什么有些教程要下载文件,等等骚操作,那么麻烦。一行搞定。 sudo apt-get install cmake 测试是否安装成功: cmake --version 出现以下界面代表安装成功: cmake version 3.5

Linux下彩色进度条的实现

匿名 (未验证) 提交于 2019-12-02 21:56:30
缓冲区 缓冲区又称为缓存,它是内存空间的一部分。也就是说,在内存空间中预留了一定的存储空间,这些存储空间用来缓冲输入或输出的数据,这部分预留的空间就叫做缓冲区。 刷新缓冲区 printf函数是一个行缓冲函数,先写到缓冲区,满足条件就将缓冲区刷到对应文件中。满足下列条件之一,缓冲区都会刷新: 缓冲区被填满时就会刷新 写入的字符中有’\n’’\r’ 调用fflush()强制刷新缓冲区 调用scanf()从缓冲区获取数据时,也会刷新新缓冲区 usleep()函数 在刷新缓冲区之后,如果不进行睡眠,那么进度条就会一股脑的输出,这就不是我们需要的效果了,所以要加上usleep()作为间隔; 包含的头文件 #include <unistd.h> 单位:us,函数声明int usleep(useconds_t usec ); 返回值: 该usleep()函数成功返回0。出错,返回-1,并设置errno以指示错误原因。 printf()函数在Linux下输出颜色设置 通过转义序列设置终端显示属性时,可采用以下格式: \033[ Param {;Param;…}m或\e[ Param {;Param;…}m 其中,’\033[‘或’\e['引导转义序列,'m’表示设置属性并结束转义序列。Param为属性值,{…}表示可选(多个参数之间用分号隔开,与顺序无关)。 #include <stdio.h>