安静
PHP技术博客

100407 php url_encode 加密解密函数


/**
 *wp Audio Player 插件音乐地址加密函数
 *@date 2010/04/07
 *代码阅读注释添加:
 * @author :可乐烟
 * @url: blog.80aj.com
 */
function url_encode ($string)
{
    $source = utf8_decode($string); //编码转换成 iso-8859-1 编码
    $ntexto = “”;
    $codekey = “ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_-“;
    for ($i = 0; $i < strlen($string); $i ++) {
        // echo $string{$i} . “<br>”; //输出字符
        //echo ord($string{$i}) . “<br>”; //输出字符的 ASCII  值
        //exit();
        $ntexto .= substr(“0000” . base_convert(ord($string{$i}), 10, 2), – 8); //  将 ascii值 从10进制转换成 2进制 并且在头部添加 0000 截取 后8位
    }
    // echo $ntexto;
    $ntexto .= substr(“00000”, 0, 6 – strlen($ntexto) % 6); // 取转换出来的字符串长度 取除6的余数  后面补0  保证 字符串长度为6的整数倍
    $string = “”;
    for ($i = 0; $i < strlen($ntexto) – 1; $i = $i + 6) {
        // echo intval(substr($ntexto, $i, 6), 2) . “<br>”; // 转换去整数   将2进制 转换成10进制
        $string .= $codekey{intval(substr($ntexto, $i, 6), 2)}; // 从$ntexto 截取 6位 并且 返回对应的 字符串对应的字符
    }
    return $string;
}
/**
 *wp Audio Player 插件音乐地址解密函数
 *@author 荒野无灯
 *@url http://www.ihacklog.com/
 *@date 2010/04/05
 *说明:仅供学习交流之用。
 */
function url_decode ($source_str)
{
    $bin_code = ”;
    $str = ”;
    $codekey = ‘ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_-‘;
    $source_len = strlen($source_str);
    for ($i = 0; $i < $source_len; $i ++) {
        $current_strpos = strpos($codekey, substr($source_str, $i, 1));
        $sixbit_bin = substr(‘000000’ . base_convert($current_strpos, 10, 2), – 6, 6);
        $bin_code .= $sixbit_bin;
    }
    $bin_code_len = strlen($bin_code);
    for ($i = 0; $i < $bin_code_len; $i += 8) {
        $eight_bit_bin = substr($bin_code, $i, 8);
        $ascii_num = base_convert($eight_bit_bin, 2, 10);
        $str .= chr($ascii_num);
    }
    return $str;
}
$str = url_encode(“i love you”);
echo “<br>” . $str;

赞(0) 打赏
未经允许不得转载:AJ's Blog » 100407 php url_encode 加密解密函数
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏