php加密

[php functions]

我怕爱的太早我们不能终老 提交于 2019-12-11 15:22:01
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> PHP 手册 字符串相关函数: 去除和填充:trim[去空格],str_pad[填充], str_repeat, strlen; 大小写转换:strtoupper, strtolower, ucfirst, ucwords; 格式化:strlen. strrev, number_format, md5[字符串加密] print_r[打印数组],explode[字符串拆分为数组] include 'xxx.php'; | require. define[常量定义], var_dump[打印变量], isset[检查变量],setcookie[设置cookie] 文件相关关函数 filetype, is_dir[是否目录], is_file是否文件], file_exists{文件、目录是否存在], file_size[目录大小为0] fopen[模式:r r+ w w+ a a+],unlink[删除], rename, copy , fread , fclose [PHP Image processing function] | 图像处理函数 int imagecolorallocate ( resource $image , int $red , int $green , int $blue )

PHP字符串的总结

末鹿安然 提交于 2019-12-11 14:56:48
1.strlen()与 mb_strlen() 都可以用来计算字符串长度,区别在于mb_strlen可以计算中文字符串长度 第一个结果:init(10) 第二个结果:init (6) 2.addslashes() 将预定义的字符添加反斜杠转义 输出结果:string(10) “that’s ok” 3.bin2hex()将ascii字符串转换为16进制 输出结果:68656c6c6f776f726c64 4…chop()移除字符串右侧的空白字符或者其他字符,这些字符需要自己指定的,默认就是空白字符 输出结果:hello world !! 5.chr()将指定的ascii值转换成字符 输出结果:hellworld!~ 6.crypt()对字符串单项加密,不可逆转,类似于做md5值 输出结果:$6 6 k r . Q M 6kr.QM 6 k r . Q M XTLdHa89UgNObVsVsO0GBa8Rj5cplPdYA.ruZ8xXiYNYRJN43zr.QN7zHa7jweW9oWtCu5UO56owznm79aQrG/ 7.htmlentities()将字符串转换为html实体 输出结果: 8.implode() 返回一个由数组元素组合成的字符串 与explode()相反作用 输出结果:12345 9.md5()计算字符串的md5值 输出结果

php

删除回忆录丶 提交于 2019-12-11 04:15:03
php $str="hello world 啊"; // 一个汉字占3个字节 $len1 = strlen($str); //字节长度 $len2 = mb_strlen($str); echo $len1,PHP_EOL; //换行符 echo $len2,PHP_EOL; $str = "i'm hexin"; $id=addslashes($str); //把 ‘ 用 \ 转译 echo $id,PHP_EOL; $str = bin2hex($str); //binary-->二进制 hex-->16进制 2-->to 5.4版本以上 echo $str,PHP_EOL; $str = hex2bin($str); echo $str,PHP_EOL; $str="hello world"; var_dump($str); $str = chop($str,"world");//去掉 world $str = chop($str); //去掉空格 var_dump($str); echo chr(98),PHP_EOL;//转换成阿斯克码 $str = chr(104).chr(101).chr(108).chr(108). chr(111).chr(119).chr(111).chr(114). chr(108).chr(100).chr(33).chr(126);

GO与PHP的AES交互,key长度问题

淺唱寂寞╮ 提交于 2019-12-11 02:32:36
今天在使用go与php的AES加解密交互中,一直有个问题那就是在go中加密后,在php端始终都是无法解密,经过排查最后发现是加密key长度引起的问题, 这里简单记录下。 go的AES使用的是第三方的库, openssl ,因为用的匆忙,没注意看文档,所以就直接弄了示例代码,才发现和php端无法解密,其实在文档中它其实讲的很清楚了, “The length of the key can be 16/24/32 characters (128/192/256 bits)”,这个key的长度只能是16,24和32个字符,分别对应AES-128, AES-192, or AES-256等模式。 我在php中因为没有太在意这个长度,所以搞的32位,但由于我用的是ECB模式,所以其实32位的字符长度实际是截成16个字符了,那么我在go中还配置成32个字符就不对了,直接在go中把key的长度改成php中配置的key的一半就行了,哎,你说这坑货php,如果key配置不对提示下多好。 go代码 func Encrypt(data map[string]interface{}) (s string) { src,_ :=json.Marshal(data) key := []byte("YzfNCQoF9P7tjwyZ") dst , err := openssl.AesECBEncrypt(src,

12月10日笔记

 ̄綄美尐妖づ 提交于 2019-12-10 22:59:34
<?php $str="hello world 你好世界";//一个汉子占3个字节 $len1 = strlen($str); //字节长度 $len2 = mb_strlen($str); //字符长度 echo $len1,PHP_EOL;//换行符 echo $len2,PHP_EOL; $str = "i'm hexin"; $id=addslashes($str);//把 ‘ 用 \ 转译 echo $id,PHP_EOL; $str = bin2hex($str); //binary-->二进制 hex-->16进制 2-->to 5.4版本以上 echo $str,PHP_EOL; $str = hex2bin($str); echo $str,PHP_EOL; $str="hello world"; var_dump($str); $str = chop($str,"world");//去掉 world $str = chop($str); //去掉空格 var_dump($str); echo chr(98),PHP_EOL;//转换成阿斯克码 $str = chr(104).chr(101).chr(108).chr(108). chr(111).chr(119).chr(111).chr(114). chr(108).chr(100).chr(33).chr

PHP代码审计-小题一道

三世轮回 提交于 2019-12-10 12:39:14
PHP代码: 1 <?php 2 3 if (empty($_POST['hmac']) || empty($_POST['host'])) { 4 header('HTTP/1.0 400 Bad Request'); 5 exit; 6 } 7 8 $secret = getenv("SECRET"); 9 10 if (isset($_POST['nonce'])) 11 $secret = hash_hmac('sha256', $_POST['host'], $secret); 12 13 $hmac = hash_hmac('sha256', $_POST['host'], $secret); 14 15 if ($hmac !== $_POST['hmac']) { 16 header('HTTP/1.0 403 Forbidden'); 17 exit; 18 } 19 20 echo exec("host ".$_POST['host']); 21 ?> 解读代码,整个流程就是POST方式传送hmac和hmac,最后绕过判断,POST传送的hmac与加密后的hmac相同,最终执行echo exec("host ".$_POST['host']); 表示成功。 2个判断: if (empty($_POST['hmac']) || empty($_POST['host

Emlog另类加密授权(理论支持所有PHP)

…衆ロ難τιáo~ 提交于 2019-12-08 09:41:27
PHP程序限制域名的程序源码如下: <? php //Emlog另类加密授权 if (! in_array ( $_SERVER [ 'HTTP_HOST' ], array ( 'txiaohe.cn' , 'www.txiaohe.cn' ))){ exit ( '招网上兼职无需流动资金QQ:704008052' );} ?> 将这句源码放在PHP程序里(我放在了emlog的module.php最后边),然后再用Zend 5进行加密整合,在你出售主题的时候,直接修改这一段代码中的域名,然后进行加密。 还是那句话,只能糊弄不熟悉代码的人。话又说回来了,熟悉代码的人加密在厉害也未必管用。网上破解收费主题还少吗?只有有用的才是最好的。 来源: https://www.cnblogs.com/pzg123/p/12004649.html

在Linux系统中为PHP5.3安装Zend Guard Loader

泄露秘密 提交于 2019-12-07 16:14:17
从PHP5.3开始如果要支持ZendGuard加密的PHP代码,必须安装Zend Guard Loader,老的zend optimizer将不被支持。 本文介绍如何在Linux系统中为PHP5.3安装Zend Guard Loader支持的过程。 操作系统为CentOS5.5,PHP版本为5.3.8(CentOS5.5中的PHP默认版本较低,如果要升级到PHP最新版,可以使用remi的report源进行升级)。 1. Zend Guard Loader 官方下载地址: i386版下载地址: http://downloads.zend.com/guard/5.5.0/ZendGuardLoader-php-5.3-linux-glibc23-i386.tar.gz x86_64版下载地址:http://downloads.zend.com/guard/5.5.0/ZendGuardLoader-php-5.3-linux-glibc23-x86_64.tar.gz CentOS i386版的PHP的模块默认位置:/usr/lib/php/modules CentOS x86_64版的PHP的模块默认位置:/usr/lib64/php/modules 2.从Zend.com下载最新的Zend Guard Loader到Linux服务器并解压缩,本文以x86_64版为例进行讲解安装过程

PHP常用字符串函数

梦想的初衷 提交于 2019-12-06 11:54:39
explode() 拆分字符串 示例:explode(' ', 'Hello World') 结果为: ['Hello', 'World'] str_replace() 字符串替换 示例:str_replace( 'H', 'W', "Hello world") 结果为:"Wello world" strpos() 查找字符串在另一字符串中的第一次出现的位置 大小写敏感 示例:strpos("Hello", "H") 结果: 0 strpos("Hello", "J") 结果:false md5() 简单的加密 不可逆(就是不能通过加密值推算出加密前的值) 示例:md5(123); 结果为: 自己测去 vat_dump() 打印数据 一般用于断点使用 strlens() 计算字符串的长度 示例:strlens('123123') 结果:6 trim() 去除字符串两侧的空白字符或其他预定义字符ltrim() 去除左侧rtrim() 去除右侧 trim(" Hello World!") 结果为: "Hello World!" ucfirst() 首字母大写 示例:ucfirst("test string") 结果:Test string ucwords() 字符串中的每个单词首字母都大写 示例:ucwords("test string") 结果:Test String

PHP与javascript对称加密

浪尽此生 提交于 2019-12-06 09:37:13
PHP /** * 可逆加密, * @author NullEcho * @param string $data 加密数据 * @param string $key 加密因子 */ public static function encrypt($data, $key) { if (empty($data)) return $data; $key = md5($key); $x = 0; $len = strlen($data); $str = ''; for ($i = 0; $i < $len; $i++) { if ($x == 32) $x = 0; $char = $key[$x]; $str .= chr(ord($data[$i]) ^ ord($char)); $x++; } return base64_encode($str); } javascript import md5 from 'js-md5' function Decrypt() { let _keyStr = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=', _salt = '', //4124bc0a9335c27f086f24ba207a4912 _saltIdx = 0, _cache = [],