首页
友人帐
留言板
关于
Search
1
IDE Eval Resetter:JetBrains 全家桶无限试用插件
553 阅读
2
影视资源采集站收录大全
489 阅读
3
linux安装或升级protoc
336 阅读
4
HEU KMS Activator v23.1.0 win10 office2019激活工具
237 阅读
5
Cloudflare国内自选IP节点整理收录
228 阅读
谈天说地
程序源码
技术教程
成品源码
登录
Search
标签搜索
PHP
linux
源码
go
windows
centos
原创
mysql
微信
激活
采集
宝塔
绿色版
API
解析
SDK
图片
破解
域名
html
云青
累计撰写
150
篇文章
累计收到
165
条评论
首页
栏目
谈天说地
程序源码
技术教程
成品源码
页面
友人帐
留言板
关于
搜索到
44
篇与
的结果
2019-09-09
最新域名防红整站源码带后台配置
图片预览点我下载 密码:zwpXD7xX
2019年09月09日
20 阅读
0 评论
0 点赞
2019-09-06
PHP上解决cookie跨域问题
正常情况下,cookie只能在一个应用中共享,即一个cookie只能有创建它的应用程序共享,实现cookie跨域是为了统一应用平台下面来看一下,使用P3P协议实现简单的cookie跨域请求: header( 'P3P: CP="CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR"' ); setcookie( 'code', $code, time() + 3600, '/', '.aaayun.cc' );
2019年09月06日
13 阅读
0 评论
0 点赞
2019-08-28
PHP 中 DES 加密、解密 以及和 Java 互通
一、简介DES 是对称性加密里面常见一种,全称为 Data Encryption Standard,即数据加密标准,是一种使用密钥加密的块算法。密钥长度是64位(bit),超过位数密钥被忽略。所谓对称性加密即加密和解密密钥相同,对称性加密一般会按照固定长度,把待加密字符串分成块,不足一整块或者刚好最后有特殊填充字符。跨语言做 DES 加密解密经常会出现问题,往往是填充方式不对、编码不一致或者加密解密模式没有对应上造成。常见的填充模式有: pkcs5、pkcs7、iso10126、ansix923、zero。加密模式有:DES-ECB、DES-CBC、DES-CTR、DES-OFB、DES-CFB。作为一个软件开发者,可以通过工具测试 DES 加密解密,这里推荐一个在线工具:http://tool.chacuo.net/cryptdes二、实现PHP 提供了 Mcrypt 系列函数来实现 DES 的加解密,但该扩展中的函数陆续被废弃,自 PHP 7.2.0 起,会移到 PECL。所以本代码用了更通用的 OPENSSL 方式实现 DES 的加解密,具体的实现和使用代码如下: <?php class DES { /** * @var string $method 加解密方法,可通过 openssl_get_cipher_methods() 获得 */ protected $method; /** * @var string $key 加解密的密钥 */ protected $key; /** * @var string $output 输出格式 无、base64、hex */ protected $output; /** * @var string $iv 加解密的向量 */ protected $iv; /** * @var string $options */ protected $options; // output 的类型 const OUTPUT_NULL = ''; const OUTPUT_BASE64 = 'base64'; const OUTPUT_HEX = 'hex'; /** * DES constructor. * * @param string $key * @param string $method * ECB DES-ECB、DES-EDE3 (为 ECB 模式时,$iv 为空即可) * CBC DES-CBC、DES-EDE3-CBC、DESX-CBC * CFB DES-CFB8、DES-EDE3-CFB8 * CTR * OFB * @param string $output * base64、hex * @param string $iv * @param int $options */ public function __construct($key, $method = 'DES-ECB', $output = '', $iv = '', $options = OPENSSL_RAW_DATA | OPENSSL_NO_PADDING) { $this->key = $key; $this->method = $method; $this->output = $output; $this->iv = $iv; $this->options = $options; } /** * 加密 * * @param $str * @return string */ public function encrypt($str) { $str = $this->pkcsPadding($str, 8); $sign = openssl_encrypt($str, $this->method, $this->key, $this->options, $this->iv); if ($this->output == self::OUTPUT_BASE64) { $sign = base64_encode($sign); } else if ($this->output == self::OUTPUT_HEX) { $sign = bin2hex($sign); } return $sign; } /** * 解密 * * @param $encrypted * @return string */ public function decrypt($encrypted) { if ($this->output == self::OUTPUT_BASE64) { $encrypted = base64_decode($encrypted); } else if ($this->output == self::OUTPUT_HEX) { $encrypted = hex2bin($encrypted); } $sign = openssl_decrypt($encrypted, $this->method, $this->key, $this->options, $this->iv); $sign = $this->unPkcsPadding($sign); $sign = rtrim($sign); return $sign; } /** * 填充 * * @param $str * @param $blocksize * @return string */ private function pkcsPadding($str, $blocksize) { $pad = $blocksize - (strlen($str) % $blocksize); return $str . str_repeat(chr($pad), $pad); } /** * 去填充 * * @param $str * @return string */ private function unPkcsPadding($str) { $pad = ord($str{strlen($str) - 1}); if ($pad > strlen($str)) { return false; } return substr($str, 0, -1 * $pad); } }应用举例: $key = '12345678'; $iv = '66666666'; // DES CBC 加解密 $des = new DES($key, 'DES-CBC', DES::OUTPUT_BASE64, $iv); echo $base64Sign = $des->encrypt('Hello DES CBC'); // 返回 base64编码 echo "\n"; echo $des->decrypt($base64Sign); echo "\n"; // DES ECB 加解密 $des = new DES($key, 'DES-ECB', DES::OUTPUT_HEX); echo $hexSign = $des->encrypt('Hello DES ECB'); // 返回 16进制 echo "\n"; echo $des->decrypt($hexSign);
2019年08月28日
7 阅读
0 评论
0 点赞
2019-08-28
宝塔nginx环境下php7.2无mcrypt扩展
ssh以root用户登入服务器 执行以下命令 # yum install libmcrypt libmcrypt-devel mcrypt mhash # wget http://pecl.php.net/get/mcrypt-1.0.1.tgz # tar xf mcrypt-1.0.1.tgz # cd mcrypt-1.0.1 # /www/server/php/72/bin/phpize # ./configure --with-php-config=/www/server/php/72/bin/php-config && make && make install将下方代码放入php.ini配置文件中 extension=mcrypt.so
2019年08月28日
18 阅读
0 评论
0 点赞
2019-07-03
2019最新云豹直播采集(各大平台)
应客户需求写了一个直播采集插件功能主要就是采集各平台直播入自己库并生成僵尸粉下载链接在下方云豹直播主播采集插件.zip
2019年07月03日
30 阅读
2 评论
0 点赞
1
...
3
4
5
...
9