【发布时间】:2011-11-09 05:36:30
【问题描述】:
我想使用带有 ASCII 字符的密钥对一个最长 10 位的数字进行编码。
编码后的字符串应该可以用相同的 key 解码,应该返回解码后的数字。
10 => encoding_with("secret_pass") => hash => decoding_with("secret_pass") => 10
这两个操作在 Javascript 和 Ruby 中的工作方式应该相同。
为此我应该使用什么算法?
所有数据都应为 ASCII 格式,输入、哈希和密钥不能使用多字节数据。
【问题讨论】:
-
仅供参考,浏览器内的 JavaScript 加密是浪费时间。参见例如扩展讨论:matasano.com/articles/javascript-cryptography
-
没关系,问题不在于它是否有意义
-
请注意,您要查找的是
ciphertext,而不是hash- 根据定义,哈希是不可逆的。 -
ROT13 然后。由于这是客户端、无保证的浏览器内环境,因此在安全性方面其他任何东西都是等效的。
-
@Chris:我为讽刺的语气道歉,这确实是不必要的;编辑出来。重点是——用JS模拟HTTPS就像是用锤子切蛋糕(比如,你如何保证JS加密代码是合法的?)。
标签: javascript ruby algorithm security encryption