web2- -

本文介绍了PHP中的一些字符串处理函数,如substr()、ord()、chr()、str_rot13()和strrev(),并展示了如何使用它们解密和编码字符串。通过示例代码,演示了如何对字符串进行逆向操作、ASCII值调整和Base64编码。最后,代码在尝试解密过程中遇到乱码问题。

先学函数:

substr() 函数返回字符串的一部分。

substr(string,start,length)

start:规定在字符串的何处开始。

  • 正数 - 在字符串的指定位置开始
  • 负数 - 在从字符串结尾的指定位置开始
  • 0 - 在字符串中的第一个字符处开始

lengh:规定要返回的字符串长度。默认是直到字符串的结尾。

  • 正数 - 从 start 参数所在的位置返回
  • 负数 - 从字符串末端返回

例子:echo substr("Hello world",1)----->ello world

ord() 函数返回字符串中第一个字符的 ASCII 值。

chr() 函数从指定 ASCII 值返回字符。

ASCII 值可被指定为十进制值、八进制值或十六进制值。八进制值被定义为带前置 0,十六进制值被定义为带前置 0x。

str_rot13函数对字符串执行 ROT13 编码。把每一个字母在字母表中向前移动 13 个字母。数字和非字母字符保持不变。

strrev() 函数反转字符串。把字符串前后调换位置

base64_encode()函数使用 MIME base64 对数据进行编码

解题代码:

<?php
$miwen="a1zLbgQsCESEIqRLwuQAyMwLyq2L5VwBxqGA3RQAyumZ0tmMvSGM2ZwB4tws";
$a=base64_decode(strrev(str_rot13($miwen)));
echo $a;
for($_0=0;$_0<strlen($a);$_0++){
       
    $_c=substr($a,$_0,1);
    $__=ord($_c)-1;
    $_c=chr($__);
    $_=$_.$_c;   
} 
echo strrev($_);
?>

直接所有的都逆方向,加一就变成减一,$_c=substr($a,$_0,1);这个就是一个一个字符变,刚开始还看不懂,后面就看懂了。

小结1:使用了外部网站的rot13解密,结果大写字母都变成小写,后面就凉凉,出现乱码。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值