/**
*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;
100407 php url_encode 加密解密函数
未经允许不得转载:AJ's Blog » 100407 php url_encode 加密解密函数