替代base64_encode

时间:2010-10-23 02:56:48

标签: php

除了用于在PHP中编码文本的base64_encode之外还有其他编码函数吗?

编辑:编码功能的目的:

生成可在URL中使用的字符串,该字符串可用作标识符。

例如,而不是http://www.something.com/?id=4&category=books&type=20

我想:

http://www.something.com/?q=a3444aAbt3daj492klsj

因此,要获取变量,必须解码唯一的哈希查询字符串。

2 个答案:

答案 0 :(得分:3)

是的,例如convert_uuencode,但是解释你想要做的事情可能是一个好主意!

答案 1 :(得分:-2)

如果您希望用户不要在地址栏中看到有意义的内容,我现在就可以了。

  1. 在服务器中你必须启用mod_rewrite(在apache中)
  2. 在www根文件夹中创建一个.htaccess文件并将其放在那里。前3行是真实的目录和文件。

    RewriteCond%{REQUEST_FILENAME}!-f

    RewriteCond%{REQUEST_FILENAME}!-d

    RewriteCond%{REQUEST_URI}!= / favicon.ico

    RewriteRule ^(。+)$ index.php?$ 1 [L]

  3. 创建ie index.php并在其中加入类似的内容。您可以使用任何类型的双向加密。我也在使用干净的网址。

    echo“< a href ='”。base64_encode(“birinci / b / c”)。“'> link< / a>

    echo“< a href ='”。base64_encode(“ikinci / b / c”)。“'> link< / a>

    echo“< a href ='”。base64_encode(“ucuncu / b / c”)。“'> link< / a>

    $ var1 = $ _SERVER ['QUERY_STRING'];

    $ var2 = base64_decode($ var1);

    $ arr = explode(“/”,$ var2);

    $ _ GET [“object”] = $ arr [0];

    $ _ GET [“action”] = $ arr [1];

    $ _ GET [“id”] = $ arr [2];

    if($ _GET [“object”] ==“birinci”){

    echo“a geldi!”;

    }否则if($ _GET [“object”] ==“ikinci”){

    echo“b geldi!”;

    }