NSCTF web200

<?php
function encode($str){
    $_o=strrev($str); //hjk
    for($_0=0;$_0<strlen($_o);$_0++){
        $_c=substr($_o,$_0,1);
        $__=ord($_c)+1;
        $_c=chr($__);
        $_=$_.$_c;
    }
    return str_rot13(strrev(base64_encode($_)));
}

函数解释:
1.strrev()
翻转字符串。
2.substr()
substr(string,start,length)
3.ord() 函数返回字符串的首个字符的 ASCII 值。
4.chr() 函数从指定的 ASCII 值返回字符。
5.str_rot13() 函数对字符串执行 ROT13 编码。

我们假设str为hjk
1._c=h _c=j _c=k
__=72+1 __=73+1 __=74+1
_c=j _c=k _c=l
_=j _=jk _c=jkl

写完之后我忘记翻转了,,,,但是道理是这个道理到时候记住反翻转。
我们知道密文之后我们:
1.base64解密
2.翻转
3.str_rot13
4.反执行一下代码的时候我们只需要先将加1变成减一,然后字符串翻转。

for($_0=0;$_0<strlen($_o);$_0++){
        $_c=substr($_o,$_0,1);
        $__=ord($_c)+1;
        $_c=chr($__);
        $_=$_.$_c;
    }

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值