2017-05-09 24 views
1

我想通过提供自己的密钥来加密输入并获得加密输出。用另一个字符串键“加密”字符串的最简单方法是什么?

这里的关键点(其区别我的岗位SO讯息以及我到目前为止一派)

  1. 我需要加密/ Ruby和JavaScript之间的解密,所以最好属于库都
  2. 安全性简单。这是主要的区别...我试着看openSSL教程,他们相当先进。我实际上只需要加密一个字符串,这与安全性或敏感信息没有任何关系,因为很明显,在这种情况下,您会使用适当的加密。为此,我只需要掩盖一些不太重要的事情。
+4

凯撒密码能够满足您的需求吗? :) –

+0

那你在问什么?你将需要选择一种加密算法,然后用你选择的语言编写(或者找到一个书面版本)。 –

+0

你不需要一个兼容ruby和javascript的库。你只需要选择一个加密标准,如RSA或Triple Des。然后你可以得到一个合适的库。 – ShaneNal

回答

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一样。

这将是一个好主意,以及使用长,随机的二进制密钥(不只是通常的字母字符)和二进制数据。

如果不是,您可能会先压缩数据并稍后对其进行加密。

+0

我得到那么多,但我无法图了解如何将其转换为十六进制或使用普通字符。 – Tallboy

-3

只需使用经典的HMAC。 RubyJavaScript

(从一个公认的评论编辑。)

+3

你会如此善良,并展示如何“解密”通过HMAC的东西? –

+0

如果这不是安全问题,Tallboy可以比较加密的结果。如果这没有意义,密码可能是作者正在寻找的东西。 – medik

+0

我需要解密值,提供原始字符串密钥 – Tallboy

相关问题