在PHP中,可以使用openssl扩展来实现AES/ECB/PKCS7Padding解密。我们需要自己实现PKCS7Padding和PKCS7Unpadding,因为openssl_encrypt和openssl_decrypt函数默认不使用PKCS7Padding。
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);
SFtp上传下载文件
一个用php写的sftp上传下载文件类
RSA加解密工具类
一个用php写的RSA加解密工具类
READ MORE →
记录一下统一流量商城的架构设计
要求为:1、多个分省对外暴露统一接口。2、统一请求、响应参数。
Thinkphp5 的widget(小部件)功能使用
现在Widget叫分层控制器,不过我习惯叫它小部件,它是非常好用的一个东西。网页上很多地方是可以公用的,比如说导航栏、用户登录区域等,我们可以使用小部件功能减少重复代码。
官方文档连接:https://www.kancloud.cn/manual/thinkphp5_1/353983
thinkphp UEditor编辑器添加在线图片&&在线附件删除功能
通过ueditor来编辑文章,其中可以上传些图片附件,文章删除只能删除数据库中的图片路径,并不会把文件删除,久而久之就会有大量的垃圾文件。用以下方法给Ueditor编辑器添加附件删除功能。
php7的新特性
1. null合并运算符(??)
??语法: 如果变量存在且值不为NULL,它就会返回自身的值,否则返回它的第二个操作数.
//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
RSA公私钥的理解和示例说明与php中的使用
PHP Trait特性
php类的单继承性,无法同时从两个基类中继承属性和方法,为了解决这个问题,使用Trait特性解决.
Trait是一种代码复用技术,为PHP的单继承限制提供了一套灵活的代码复用机制.
用法:通过在类中使用use 关键字,声明要组合的Trait名称,具体的Trait的声明使用Trait关键词. 注意:Trait不能实例化