用另一个字符串键“加密”字符串的最简单方法是什么?

时间:2017-05-09 19:07:45

标签: javascript ruby encryption encryption-symmetric

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

这里的关键点(这使我与帖子的帖子和我到目前为止用google搜索的内容区别开来)

  1. 我需要在ruby和javascript之间加密/解密,所以理想情况下属于两者的库
  2. 安全性的简单性。这是主要的区别......我已经尝试过查看openSSL教程并且它们非常先进。我确实需要加密一个字符串,这与安全性或敏感信息没有任何关系,因为很明显在这种情况下你会使用适当的加密。为此,我只需要模糊一些不太重要的东西。

2 个答案:

答案 0 :(得分:0)

这是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中编写相同内容应该不会太难。

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

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

答案 1 :(得分:-3)

只需使用经典的HMAC即可。 RubyJavaScript

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