javascript可逆伪哈希

时间:2011-04-18 14:36:27

标签: php javascript

javascript中是否有可用的“可逆”伪哈希函数?我问的原因是因为我在应用程序的各个部分周围弹出一个字符串,但该字符串包含与应用程序的某些部分不兼容的字符。所以我想将“152(/,blue-Test#”)转换为字母数字字符串,然后能够将其转换回原始值。

安全性等并不重要,它可以是“可破解的”,哈希的长度可以是可变的等等。

如果可以轻松地将相同的函数复制到完美的PHP函数中。

4 个答案:

答案 0 :(得分:4)

Base64 - 编码怎么样?那里有很多实现。如果它仍然包含不需要的字符(很可能是-62< 64),你可以自己卷起一个字符,只使用可以安全传递的索引字符。

或使用Base32

答案 1 :(得分:1)

您是否考虑过对字符串进行HTML编码?

<?
    echo htmlspecialchars(someString);
    echo htmlspecialchars_decode("this -&gt; &quot;");
?> 

http://php.mirrors.ilisys.com.au/manual/en/function.htmlspecialchars.php

这将允许您在应用程序周围传递字符串,否则会抛出错误或注入代码,并且它也是可逆的。

答案 2 :(得分:1)

URI encoding可能对您而言(取决于您认为哪些字符不合适)。在JavaScript中:

encodeURIComponent("152(/,blue-Test#")

输出:

"152(%2F%2Cblue-Test%23"

要反转:

decodeURIComponent("152(%2F%2Cblue-Test%23")

输出:

"152(/,blue-Test#"

答案 3 :(得分:0)

如果您在应用程序周围弹出大量信息(例如,数组),您可能最好将其转换为JSON对象。这使您可以使用结构移动信息。

http://www.json.org/js.html