杉哥的个人博客

在PHP和java之间实现AES/ECB/PKCS7Padding加密和解密互通问题

在PHP中,可以使用openssl扩展来实现AES/ECB/PKCS7Padding解密。我们需要自己实现PKCS7Padding和PKCS7Unpadding,因为openssl_encrypt和openssl_decrypt函数默认不使用PKCS7Padding。

READ MORE →

php与java的rsa加密互通问题

近在整接口对接;对方用的是java,里面用到了RSA加密模式,我用php写,结果不行,发过去以后,对方表示无法解密

去官网看了下openssl_private_encrypt的OPENSSL_NO_PADDING形式;

For a 1024 bit key length => encrypted number of raw bytes is always a block of 128 bytes (1024 bits) by RSA design.
For a 2048 bit key length => encrypted number of raw bytes is always a block of 256 bytes (2048 bits) by RSA design.

然后就手动填充了ASCII 0;补全256字节就解决了
$Str = str_pad($Str, 256, “\0”, STR_PAD_LEFT);

READ MORE →

SFtp上传下载文件

一个用php写的sftp上传下载文件类

READ MORE →

RSA加解密工具类

一个用php写的RSA加解密工具类
READ MORE →

记录一下统一流量商城的架构设计

要求为:1、多个分省对外暴露统一接口。2、统一请求、响应参数。

READ MORE →

Thinkphp5 的widget(小部件)功能使用

现在Widget叫分层控制器,不过我习惯叫它小部件,它是非常好用的一个东西。网页上很多地方是可以公用的,比如说导航栏、用户登录区域等,我们可以使用小部件功能减少重复代码。

官方文档连接:https://www.kancloud.cn/manual/thinkphp5_1/353983

READ MORE →

thinkphp UEditor编辑器添加在线图片&&在线附件删除功能

通过ueditor来编辑文章,其中可以上传些图片附件,文章删除只能删除数据库中的图片路径,并不会把文件删除,久而久之就会有大量的垃圾文件。用以下方法给Ueditor编辑器添加附件删除功能。

READ MORE →

php7的新特性

1. null合并运算符(??)

??语法: 如果变量存在且值不为NULL,它就会返回自身的值,否则返回它的第二个操作数.

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
//php7以前 if判断
if(empty($_GET['param'])) {
$param = 1;
}else{
$param = $_GET['param'];
}
//php7以前 三元运算符
$param = empty($_GET['param']) ? 1 : $_GET['param'];
//PHP7 null合并运算符
$param = $_GET['param'] ?? 1;//1
//php7以前 if判断 if(empty($_GET['param'])) { $param = 1; }else{ $param = $_GET['param']; } //php7以前 三元运算符 $param = empty($_GET['param']) ? 1 : $_GET['param']; //PHP7 null合并运算符 $param = $_GET['param'] ?? 1;//1
//php7以前  if判断
if(empty($_GET['param'])) {
      $param = 1;
}else{
    $param = $_GET['param'];
}

//php7以前  三元运算符
$param = empty($_GET['param']) ? 1 : $_GET['param'];

//PHP7  null合并运算符
$param = $_GET['param'] ?? 1;//1

READ MORE →

RSA公私钥的理解和示例说明与php中的使用

先放重点:公钥和私钥是成对的,它们互相解密。

公钥加密,私钥解密。

私钥数字签名,公钥验证。

READ MORE →

PHP Trait特性

php类的单继承性,无法同时从两个基类中继承属性和方法,为了解决这个问题,使用Trait特性解决.

Trait是一种代码复用技术,为PHP的单继承限制提供了一套灵活的代码复用机制.

用法:通过在类中使用use 关键字,声明要组合的Trait名称,具体的Trait的声明使用Trait关键词.  注意:Trait不能实例化

READ MORE →