日期:2014-05-17  浏览次数:20499 次

关于点击后加载内容和 MD5的问题
我有好几个分类,就是点击后显示内容和图片的,不过我是用 display:none隐藏对应内容和图片的,那样不就是隐藏了可是内容和图片已经提前加载完了啊。。有没有方法隐藏的内容先不加载 我点击对应分类时才加载对应内容和图片?
还有一个问题我用PHP md5函数加密 111111 的 结果是 96e79218965eb72c92a549dd5a330112 这样 可是用PHP有没有方法吧 111111加密成 70-66-A4-0F-42-77-69-CC-43-34-7A-A9-6B-72-93-1A 这样?都说这个也是MD5
大大们求助,谢谢 55

------解决方案--------------------
自己写加密算法咯。原理很简单,就是将字符串按照一定的规则转换,就是加密,然后将转换后的字符串按照之前的方式反过来转换就还原了
------解决方案--------------------
1,JS延迟加载,把源地址藏在img的original属性里。
2,
PHP code
[User:root Time:11:14:10 Path:/home/liangdong/php]$ php md5.php 
07-3a-8a-c0-f6-22-12-23-f1-59-26-d8-32-c3-c5-38
[User:root Time:11:14:13 Path:/home/liangdong/php]$ cat md5.php 
<?php
$md5 = md5('php,python');
$md5_arr = str_split($md5, 2);
$md5_new = implode('-', $md5_arr);
echo $md5_new . PHP_EOL;
?>
[User:root Time:11:14:15 Path:/home/liangdong/php]$

------解决方案--------------------
搜索 70-66-A4-0F-42-77-69-CC-43-34-7A-A9-6B-72-93-1A
可知这个是 123456 的 MD5,而不是 111111 的 MD5
有人说转成 unicode 编码再 MD5 就可以得到
但遗憾的是 无论是转成 ucs-2be、ucs-2le、ucs-4le、ucs-4be 在php 中都不能 MD5 成
------解决方案--------------------
能凑活用:
PHP code

$str = md5("111111");
echo $str . "<br>";
#96e79218965eb72c92a549dd5a330112

function encode($str) {
    $newstr = null;
    for ($i = 0; $i < strlen($str); $i++) {
        $new = substr($str, $i, 1);
        if ($i == strlen($str) - 1) {
            $newstr .= (++ $new);
            break;
        }
        if ($new == 9)
            $newstr .= "*-";
        else
            $newstr .= (++ $new) . "-";

    }
    return $newstr;
}
echo encode($str) . "<br>";
#*-7-f-8-*-3-2-9-*-7-6-f-c-8-3-d-*-3-b-6-5-*-e-e-6-b-4-4-1-2-2-3

function decode($str) {
    $new="";
    $arrStr = explode("-", $str);
    foreach ($arrStr as $k => $value) {
        $val = ord($value);
        $tmp = chr(--$val);
        if($tmp === ")")
            $tmp = 9;
        $new.=$tmp;
    }
    return $new;
}
echo decode(encode($str))."<br>";
#96e79218965eb72c92a549dd5a330112