base64 加密和解密

$str = "http://www.onestopweb.cn";

$en=base64_encode($str);

$de=base64_decode($en);

echo "原型:$str
";

echo "加密后:$en
";

echo "解密后:$de
";

?>

效果图:

解决URL传输的问题

//urlencode 将字符串以 URL 编码。

$str = "http://www.onestopweb.cn";

$urlen = urlencode($str);

$urlde = urldecode($urlen);

//URL传输请使用下面这种

//rawurlencode 将字符串编码成 URL 专用格式。

$rawurlen = rawurlencode($str);

$rawurlde = rawurldecode($rawurlen);

echo "原型:$str
";

echo "urlencode加密后:$urlen
";

echo "urldecode解密后:$urlde
";

echo "rawurlencode加密后:$rawurlen
";

echo "rawurldecode解密后:$rawurlde
";

?>

效果图:

有点复杂的加密解密和解决URL传输问题

function encrypt($data, $key) {

$prep_code = serialize($data);

$block = mcrypt_get_block_size('des', 'ecb');

if (($pad = $block - (strlen($prep_code) % $block)) < $block) {

$prep_code .= str_repeat(chr($pad), $pad);

}

$encrypt = mcrypt_encrypt(MCRYPT_DES, $key, $prep_code, MCRYPT_MODE_ECB);

return base64_encode($encrypt);

}

function decrypt($str, $key) {

$str = base64_decode($str);

$str = mcrypt_decrypt(MCRYPT_DES, $key, $str, MCRYPT_MODE_ECB);

$block = mcrypt_get_block_size('des', 'ecb');

$pad = ord($str[($len = strlen($str)) - 1]);

if ($pad && $pad < $block && preg_match('/' . chr($pad) . '{' . $pad . '}$/', $str)) {

$str = substr($str, 0, strlen($str) - $pad);

}

return unserialize($str);

}

$key = 'login';

$data = array('id' => 100, 'username' => 'chaoyi', 'password' => '123456');

$snarr = serialize($data);

$en = encrypt($data, $key);

$de = decrypt($en, $key);

echo "加密原型:"; print_r($data);

echo "
密钥:$key

加密结果:$en

解密结果:";print_r($de);

$en2 = rawurlencode(encrypt($data, $key));

$de2 = decrypt(rawurldecode($en2), $key);

echo "
可以进行URL传输的加密:".$en2."
";

echo "转输后进行解密:";print_r($de2);

?>

效果图:

php对连接加密后传,PHP 加密解密和解决URL传输问题相关推荐

  1. 摩托罗拉手机连接Wifi后提示“网络受限”问题的解决!

    摩托罗拉手机连接Wifi后提示"网络受限"问题的解决! 配置wifi 解决"网络受限"方法: 因为我们所做的是墨西哥业务,使用国内手机有时候无法模拟国外出现线上 ...

  2. 苹果MacBook 连接电源后却显示“未充电”的解决方法

    部分电脑运行macOS 10.15.5 以上版本作业系统,且电脑上配备Thunderbolt 3 连接埠的用户发现即便已经插上充电线,屏幕上却显示未充电的提示. 有些人会觉得肯定问题出在充电器或充电线 ...

  3. 连接VPN后无法上网 Windows Route 轻松解决

    连接VPN后无法上网 Windows Route 轻松解决 引言 文档 添加路由 引言 很多时候,我们公司的 VPN 为了不占用公司的外网带宽和安全起见,都会禁止访问外网.我们的电脑连接 VPN 后, ...

  4. c语言奇数位加密,输出五个字符,加密后输出。加密方法:奇数位字符ASCII-2,偶数位字符ASCII+4。如:输入C...

    满意答案 wml9527 推荐于 2016.01.13 采纳率:46%    等级:12 已帮助:15270人 #include #include #include int main() { int  ...

  5. win10系统下用bitlocker加密后磁盘显示无法访问如何解决

    在win10系统中,自带有bitlocker加密功能,然而有不少用户在使用bitlocker加密抽磁盘显示无法访问,拒绝访问,导致磁盘中的文件无法使用,该怎么办呢,本文就给大家讲解一下win10系统下 ...

  6. 电脑连接蓝牙耳机后声音依旧外放的解决办法

    晚上睡觉的时候,身边的人睡了,带上蓝牙耳机,连接电脑后,但是发现放音乐的声音依然是外放,上网查了好多的办法,半点用都没有-什么重启啊,什么这个那个的设置的,真的没有用,自己琢磨了会,终于解决了这个问题 ...

  7. 计算机无法访问iTunes,iPhone连接电脑后iTunes无响应怎么办【解决方法】

    iPhone连接电脑后iTunes无响应怎么办 ?有时候手机可能无法和电脑连接,这里分析了几种情况并为大家带来解决方法. 情况一: 连接前先确保您的数据线可以正常使用,并检查其与电脑.手机间的接口是否 ...

  8. md5加密后的数据如何解密_如何在云中加密数据

    有很多数据分布在多个设备和云服务上,要保证它们的安全,需要不同级别的数据分类.下面概述更多用于日常文件加密的特定关于云的工具. 未加密的数据 我不喜欢在电脑中除了Dropbox以外的地方存储任何东西, ...

  9. php加密后无法读取,无法解密的php加密文件

    用尽网上所有的在线解密工具和解密软件都无法解密 把源代码贴出来 希望高手们指点一下 3376; /*  ?This is not a text file!揄   */ print " \n& ...

最新文章

  1. 面向对象设计原则之三:里氏替换原则
  2. 服 务 器 时 间 设 置
  3. [转]PHP: 深入pack/unpack
  4. getRotationMatrix2D函数
  5. iphone 有关(maybe you meant: _kSecClass$non_lazy_ptr)
  6. api 请求 fail_谈一谈定位api的使用
  7. 我们如何制作xkcd样式图?
  8. 关于在ubuntu14.04下firefox升级后refresh插件不好用
  9. Java动态代理二——CGLIB动态代理应用
  10. wps linux版本支持vba,Wps vba安装包
  11. Lync 地址簿同步知识
  12. Arcgis(二) 绘制区域划分示意图——以重庆五大功能区为例
  13. ALLEGRO Scaled value has been rounded off.错误 CADENCE PCB
  14. 在阿里云容器服务上基于Istio实现出口Egress流量管理
  15. Neural Networks and Deep Learning - 神经网络与深度学习 - Overfitting and regularization - 过拟合和正则化
  16. 华为路由器:ppp协议
  17. 交接读代码得过程和整理文档
  18. c语言欺凌,《中国校园欺凌调查报告》发布 语言欺凌占主导
  19. 关于拆项,有理函数积分,留数法
  20. 面试 - 阿里华为资深HR面试套路全揭晓

热门文章

  1. yii2 postman 文件上传
  2. java web 程序---购物车项目内容:
  3. Oracle技术之Data Pump介绍
  4. 毒王肆虐 U盘寄生虫再出变种
  5. python3 协程asyncio 调用步骤、阻塞和await、task任务、future对象 partial
  6. python pip 安装错误 EnvironmentError: mysql_config not found
  7. linux shell 字符串作变量名 间接变量引用
  8. linux netstat 查看网络信息 实例 状态说明
  9. python3 from import 与 import 区别
  10. linux c 用户态 调试追踪函数 调用堆栈 定位段错误