RSA加密算法是最常用的非对称加密算法,CFCA在证书服务中离不了它。
DES 是对称性加密里面常见一种,全称为 Data Encryption Standard,即数据加密标准,是一种使用密钥加密的块算法。密钥长度是64位(bit),超过位数密钥被忽略。所谓对称性加密即加密和解密密钥相同,对称性加密一般会按照固定长度,把待加密字符串分成块,不足一整块或者刚好最后有特殊填充字符。
加载助手 helper
$this->load->helper('time'); // 加载文件 helpers/time_helper.php
加载模型 model
$this->load->model('M_car_device_info'); // 加载文件 models/M_car_device_info.php $device_info = $this->M_car_device_info->get_record('xxx');
遇到的问题:
我们还是先来看手册是怎么说的:
It is important to remember that any string participating in an Excel formula is allowed to be maximum 255 characters (not bytes).
当下拉列表的数据来源过长(more than 255 characters)时,该下拉列表会显示不正确(我遇到的情况是:该下拉列表显示了别的正常的下拉列表的数据来源)。
Swoole 是用php快速开发高效的tcp/udp服务,其中tcp是用的更多的一个场景,http虽然是基于tcp协议的,但和直接开发tcp服务还是有明显的区别的。
TCP是数据流
tcp是数据流,这是一个基本的概念,这里有两个要点:
-
数据没有边界
你可以理解为水在一个水管里的流动,我们不知道哪段数据是一个我们需要的完整数据
-
收发有缓冲区
比如:当水从一端流到了另一端,我们在收数据的时候,不可能每来一滴水就处理一次,这个缓冲区就相当于有了一个水桶,再接了一定的水之后内核再给数据交到用户空间,这样可以大大提升性能。
从上篇的执行流程,可以得出第一个需要思维转换的点:
Swoole是完全的长驻内存的
这个是和web开发第一个很大的不同,之前我们在做web开发,基本不怎么考虑内存控制的问题,这里从两个方面来进行结比:
PHP与SWOOLE的运行模式
php做为swoole的宿主,所以了解php本身的运行模式是必不可少的,下图是以cli下执行一个php文件时的完整流程
/** * 计算两个坐标之间的距离(米) * * @param float $fP1Lon 起点(经度) * @param float $fP1Lat 起点(纬度) * @param float $fP2Lon 终点(经度) * @param float $fP2Lat 终点(纬度) * @return int */ function map_get_distance($fP1Lon, $fP1Lat, $fP2Lon, $fP2Lat) { $fEARTH_RADIUS = 6378137; // 角度换算成弧度 $fRadLon1 = deg2rad($fP1Lon); $fRadLon2 = deg2rad($fP2Lon); $fRadLat1 = deg2rad($fP1Lat); $fRadLat2 = deg2rad($fP2Lat); // 计算经纬度的差值 $fD1 = abs($fRadLat1 - $fRadLat2); $fD2 = abs($fRadLon1 - $fRadLon2); // 距离计算 $fP = pow(sin($fD1 / 2), 2) + cos($fRadLat1) * cos($fRadLat2) * pow(sin($fD2 / 2), 2); return intval($fEARTH_RADIUS * 2 * asin(sqrt($fP)) + 0.5); }