使用另一个字符串键 "encrypt" 字符串的最简单方法?

Simplest way to "encrypt" string with another string key?

我想通过提供我自己的密钥来加密输入并获得加密输出。

这里的关键点(这使我有别于 post SO posts 和我到目前为止用谷歌搜索的东西)

  1. 我需要 encrypt/decrypt 在 ruby 和 javascript 之间,所以理想情况下是属于两者的库
  2. 简单胜过安全。这是主要的区别...我已经尝试查看 openSSL 教程,它们非常高级。我实际上只需要加密一个字符串,这与安全或敏感信息没有任何关系,显然在那种情况下你会使用适当的加密。为此,我只需要隐藏一些不是很重要的东西。

只需使用经典 HMAC。 Ruby and JavaScript.

(根据已接受的评论编辑。)

这是 Ruby 中的基本 XOR cipher

key = 'private_key'

def xor_cypher(text, key)
  text.each_byte.zip(key.each_byte.cycle).map { |a, b| (a ^ b).chr }.join
end

p xor_cypher('This is my secret message', key)
# "$\x1A\x00\x05A\x1D\x16\x7F\x06\x1CY\x03\x17\n\x04\x04\x00E2\x0E\x16\n\x11\x15\f"
p xor_cypher("$\x1A\x00\x05A\x1D\x16\x7F\x06\x1CY\x03\x17\n\x04\x04\x00E2\x0E\x16\n\x11\x15\f", key)
# "This is my secret message"

用JS写应该不难吧

最好使用随机的长二进制密钥(不仅仅是通常的字母字符)和二进制数据。

如果没有,您可以先压缩数据,然后再加密。