php加密

使用PHP-Beast加密你的PHP源代码

旧时模样 提交于 2020-03-02 08:29:36
PHP-Beast是一个PHP源码加密的模块,其使用DES算法加密,用户可以自定义加密的key来加密源代码。 1. PHP-Beast的安装 $ wget https://github.com/liexusong/php-beast/archive/master.zip $ unzip master.zip $ cd php-beast-master $ phpize $ ./configure $ make $ sudo make install 注意:在编译扩展之前先修改加密的key,如下图。 编译好之后修改php.ini配置文件,加入配置项:extension=beast.so,重启php-fpm。 安装完成后可以在phpinfo中看到如下结果: 2. 安装好PHP-Beast模块后,可以使用工具包中的encrypt_project.php工具来加密你的项目,你只需要输入项目的路径和输出的项目路径即可(这个工具只会加密PHP文件,其他文件只会简单的复制),如: 加密完成后使用文本编辑器看编译后的文件可以发现已经变为乱码,如: 3. 当然你可能不希望加密项目的所有PHP源文件,所以你可以使用PHP-Beast模块提供的beast_encode_file()函数来加密其中的某个文件,使用方法:beast_encode_file($input_file, $output_file)

php实现jwt

此生再无相见时 提交于 2020-03-01 19:07:16
一:JWT是什么 JWT是json web token缩写。它将用户信息加密到token里,服务器不保存任何用户信息。服务器通过使用保存的密钥验证token的正确性,只要正确即通过验证。基于token的身份验证可以替代传统的cookie+session身份验证方法。 JWT由三个部分组成:header.payload.signature 二:代码实现 class JWT { private static $header=array( 'alg'=>'SHA256', //生成signature的算法 'typ'=>'JWT' //类型 ); private static $payload= array( ); //使用HMAC生成信息摘要时所使用的密钥 private static $key='123456'; public function getToken(){ //这是第一部分 $base64 = json_encode(self::$header); $baseencode = base64_encode($base64); self::$payload['time']=time()+3600;//过期时间 self::$payload['uid']=110; $basepayLoad64=json_encode(self::$payload);

php 字符串加密

老子叫甜甜 提交于 2020-03-01 17:42:42
简介:这是php 字符串加密的详细页面,介绍了和php,有关的知识、技巧、经验,和一些php源码等。 class='pingjiaF' frameborder='0' src='http://biancheng.dnbcw.info/pingjia.php?id=341726' scrolling='no'> <?php //字符串加密函数针对UTF8字符串 function StrEncryptR4($str_text,$str_passwd,$enlevel=4){ if($str_text=='' || $str_passwd=='') return $str_text; if($enlevel<=0) $enlevel = 1; $text = ''; $stlen = strlen($str_text); $splen = strlen($str_passwd); for($i=0;$i<$enlevel;$i++){ for($j=0;$j<$stlen;$j++){ $text .= chr(ord(substr($str_text,$j,1)) ^ ord(substr($str_passwd,($j % $splen),1))); } } $ai_encryptbox = array(); for($i=0;$i<256;$i++){ $ai_encryptbox

php:// 访问各个输入/输出流

两盒软妹~` 提交于 2020-02-29 05:12:36
相关 php.ini 配置 allow_url_fopen :on 默认开启 该选项为on便是激活了 URL 形式的 fopen 封装协议使得可以访问 URL 对象文件等。 allow_url_include:off 默认关闭,该选项为on便是允许 包含URL 对象文件等 php://stdin, php://stdout 和 php://stderr php://stdin(只读)、php://stdout 和 php://stderr (只写) 允许直接访问 PHP 进程相应的输入或者输出流, 推荐使用常量 STDIN、 STDOUT 和 STDERR 来代替手工打开这些封装器。 应用一: <?php while($line = fopen('php://stdin','r')){ echo fgets($line); } ?> // 结果 D:\phpStudy\WWW\test>php test.php 12345你好 12345你好 应用二:在dos命令行下直接返回STDIN文件指针(文件句柄) <?php echo STDIN; ?> // 结果 D:\phpStudy\WWW\test>php test.php Resource id #1 应用三: <?php echo fgets(STDIN); ?> //STDIN可以拿到在dos下输入的内容

php的特殊协议

本秂侑毒 提交于 2020-02-29 05:12:21
php:// php:// — 访问各个输入/输出流(I/O streams) 说明 PHP 提供了一些杂项输入/输出(IO)流,允许访问 PHP 的输入输出流、标准输入输出和错误描述符, 内存中、磁盘备份的临时文件流以及可以操作其他读取写入文件资源的过滤器。 php://stdin, php://stdout 和 php://stderr php://stdin 、 php://stdout 和 php://stderr 允许直接访问 PHP 进程相应的输入或者输出流。 数据流引用了复制的文件描述符,所以如果你打开 php://stdin 并在之后关了它, 仅是关闭了复制品,真正被引用的 STDIN 并不受影响。 注意 PHP 在这方面的行为有很多 BUG 直到 PHP 5.2.1。 推荐你简单使用常量 STDIN 、 STDOUT 和 STDERR 来代替手工打开这些封装器。 php://stdin 是只读的, php://stdout 和 php://stderr 是只写的。 php://input php://input 是个可以访问请求的原始数据的只读流。 POST 请求的情况下,最好使用 php://input 来代替 $HTTP_RAW_POST_DATA ,因为它不依赖于特定的 php.ini 指令。 而且,这样的情况下 $HTTP_RAW_POST_DATA

PHP使用DES进行加密和解密

给你一囗甜甜゛ 提交于 2020-02-27 07:12:14
DES是一种标准的数据加密算法,关于这个算法的详细介绍可以参考wiki和百度百科: wiki百科 百度百科 php中有一个扩展可以支持DES的加密算法,是:extension=php_mcrypt.dll 在配置文件中将这个扩展打开还不能够在windows环境下使用 需要将PHP文件夹下的 libmcrypt.dll 拷贝到系统的 system32 目录下,这是通过phpinfo可以查看到mcrypt表示这个模块可以正常试用了。 下面是PHP中使用DES加密解密的一个例子: // $input - stuff to decrypt //$key - the secret key to use function do_mencrypt( $input , $key ) { $input = str_replace ( "" n " , "" , $input ); $input = str_replace( "" t " , "" , $input ); $input = str_replace ( "" r " , "" , $input ); $key = substr(md5( $key ), 0, 24); $td = mcrypt_module_open('tripledes', '', 'ecb', ''); $iv = mcrypt_create_iv(mcrypt

PHP学习心得

瘦欲@ 提交于 2020-02-26 01:18:25
从今天起,这里记录我的PHP心得。 首先是之前的”连库、择库、设字符集、增删改查语句的运行、取数据“、配置文件、文件管理分类方式。 POST接受表单,常用于增删改,GET来自URL 中的PHP?后较多,常用语查找。 展示列表可用php循环出结果。 搜索可用数据库SELECT 。。。 FROM。。。WHERE XX LIKE "。。%" 先导入数据库,密码md5加密; 之后,开始记录每天心得! 4.12 lib 公共函数库 image.fun 验证码生成 //创建画布 生成颜色 填充矩形画布 生成随机字符串(随机生成几种类型的字符,打乱,取出4个) 将字符串放入 打印图片 销毁。 文件分类清晰 开头 管理员一层、用户一层、分别加入bootstrap代码。各自有各自的images。 用户层里包含data(数据库)、configs(define初始化)、lib(库文件)、plugins(插件?)core(核心文件)、include.php(包含文件)等公共内容。 来源: https://www.cnblogs.com/gottheg/p/5385089.html

Win2003 + IIS6 + PHP5 + MySQL5 + ZendOptimizer3.3.0的安装与配置

非 Y 不嫁゛ 提交于 2020-02-24 09:59:09
注意: 1、 如果服务器启用了防火墙,必须设置开放3306端口,否则MySQL启动可能会失败 2、 不可随意结束mysqld-nt.exe进程,该进程非正常结束的话,可能导致MySQL服务无法启动,必须重新安装 3、 如果程序的安装路径不同,应根据具体的情况修改相应的文件路径 一、安装步骤 1、 安装MySQL 下载MySQL,为了更换服务器的方便,在条件允许的情况下,推荐各个服务器的MySQL安装同一个版本。这里我们以MySQL 5.0.45版本的免安装压缩包为例。 把下载来的mysql-noinstall-5.0.45-win32.zip压缩包解压缩到e:\mysql文件夹中,这个文件夹里面有几个my-*.ini的文件,这些文件是MySQL的默认配置文件,可以根据系统内存的大小,选用相应的文件(内存1-2G,选择my-huge.ini;内存512M,选择my-large.ini),把文件改名为my.ini。在运行窗口中输入: e:\mysql\bin\mysqld-nt.exe --install MySQL --defaults-file=e:\mysql\my.ini 至此,MySQL安装完成,可进服务管理启动服务,或者在命令行中执行: net start mysql 来启动服务。 说明:如果要卸载mysql服务,可先把mysql服务停止,然后用以下命令来删除服务: e:

PHP的学习--PHP加密

和自甴很熟 提交于 2020-02-24 04:15:32
PHP中的加密方式有如下几种 1. MD5加密 string md5 ( string $str [, bool $raw_output = false ] ) 参数 str -- 原始字符串。 raw_output -- 如果可选的 raw_output 被设置为 TRUE,那么 MD5 报文摘要将以16字节长度的原始二进制格式返回。 这是一种不可逆加密,执行如下的代码 $password = '123456'; echo md5($password); 得到结果是e10adc3949ba59abbe56e057f20f883e 2. Crype加密 string crypt ( string $str [, string $salt ] ) crypt() 返回一个基于标准 UNIX DES 算法或系统上其他可用的替代算法的散列字符串。 参数 str -- 待散列的字符串。 salt -- 可选的盐值字符串。如果没有提供,算法行为将由不同的算法实现决定,并可能导致不可预料的结束。 这是也一种不可逆加密,执行如下的代码 $password = '123456'; $salt = "test";// 只取前两个 echo crypt($password, $salt); 得到的结果是teMGKvBPcptKo 使用自动盐值的例子如下: $password = crypt(

使用php扩展mcrypt实现AES加密

假如想象 提交于 2020-02-22 15:21:22
AES(Advanced Encryption Standard,高级加密标准)是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。Rijndael是在AES中使用的基本密码算法。 对于此算法网上流传有很多php代码实现的版本,其实php的扩展mcrypt完全支持此加密算法,不必要自己去写代码实现。先不说自己写费时费力(当然你若是想研究此加密算法,那另说),使用php代码实现的算法效率也不会太高。 mcrypt扩展在php中默认是没有的,需要自己安装配置,其方法可以在网上搜索,这里不在详述。你可以使用以下代码检查你的php环境是否支持mcrypt [php] view plain copy $cipher_list = mcrypt_list_algorithms(); //mcrypt支持的加密算法列表 $mode_list = mcrypt_list_modes(); //mcrypt支持的加密模式列表 echo '<xmp>'; print_r( $cipher_list); print_r( $mode_list); 若你的环境支持mcrypt,输出结果应该如下: [plain] view plain copy Array ( [0] => cast-128 [1] => gost [2] => rijndael-128