我想使用带有 ASCII 字符的 key 对一个最长 10 位数字的数字进行编码。
编码后的字符串应该可以用相同的 key 解码,它应该返回解码后的数字。
10 => encoding_with("secret_pass") => hash => decoding_with("secret_pass") => 10
这两种操作在 Javascript 和 Ruby 中的工作方式应该相同。
为此我应该使用什么算法?
所有数据都应采用 ASCII 格式,输入、哈希和 key 不得使用多字节数据。
最佳答案
一个简单的 XOR 就足够了。
是的,你可以过火并破解完整的加密套件,但由于算法的一部分将在浏览器中运行,在 JS(完全不受信任的环境)中,任何对 Serious Cryptography™ 的尝试都会给你一个 false sense security(换句话说,实际上会使您的系统不太安全)。
如果您正在尝试保护传输中的数据,请使用专为该工作打造的工具;在这种情况下,HTTPS。
关于javascript - 使用 javascript 和 ruby key 的对称加密,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7284820/