代码之家  ›  专栏  ›  技术社区  ›  AlexA

如何将PHP字符串安全地编码为字母数字?

  •  3
  • AlexA  · 技术社区  · 16 年前

    如何安全地将php字符串编码为 字母数字的 只有字符串? 例如,“Hey123&5”可能变为“Ed9e0333”,也可能是外观更好的产品。 这不是剥离字符,而是编码。

    目标是使此编码之后的任何字符串适合于CSS ID字符串(alnum)。 但稍后我需要解码它并得到 起初的 字符串。

    3 回复  |  直到 10 年前
        1
  •  4
  •   Wim    16 年前

    bin2hex 似乎符合该法案(虽然不如其他一些编码紧凑)。还要注意,css id不能以数字开头,因此要确保在 宾2HEX 在您获得最终ID之前的结果。

    对于反向(解码),没有 hex2bin 但PHP文档网站上的某个人建议这样做(未测试):

    $bin_str = pack("H*" , $hex_str);
    
        2
  •  -1
  •   mhlavac    10 年前

    这个线程已经死了很长一段时间了,但是我正在寻找这个问题的解决方案,并且发现这个线程,有人可能会发现这个简单的答案很有用。

    我的解决方案是:

    str_replace('=', '_', base64_encode($data));
    
        3
  •  -2
  •   Benoît Vidis    16 年前