先学函数:
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解密,结果大写字母都变成小写,后面就凉凉,出现乱码。
本文介绍了PHP中的一些字符串处理函数,如substr()、ord()、chr()、str_rot13()和strrev(),并展示了如何使用它们解密和编码字符串。通过示例代码,演示了如何对字符串进行逆向操作、ASCII值调整和Base64编码。最后,代码在尝试解密过程中遇到乱码问题。

被折叠的 条评论
为什么被折叠?



