使用另一个字符串键 "encrypt" 字符串的最简单方法?
Simplest way to "encrypt" string with another string key?
我想通过提供我自己的密钥来加密输入并获得加密输出。
这里的关键点(这使我有别于 post SO posts 和我到目前为止用谷歌搜索的东西)
- 我需要 encrypt/decrypt 在 ruby 和 javascript 之间,所以理想情况下是属于两者的库
- 简单胜过安全。这是主要的区别...我已经尝试查看 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写应该不难吧
最好使用随机的长二进制密钥(不仅仅是通常的字母字符)和二进制数据。
如果没有,您可以先压缩数据,然后再加密。
我想通过提供我自己的密钥来加密输入并获得加密输出。
这里的关键点(这使我有别于 post SO posts 和我到目前为止用谷歌搜索的东西)
- 我需要 encrypt/decrypt 在 ruby 和 javascript 之间,所以理想情况下是属于两者的库
- 简单胜过安全。这是主要的区别...我已经尝试查看 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写应该不难吧
最好使用随机的长二进制密钥(不仅仅是通常的字母字符)和二进制数据。
如果没有,您可以先压缩数据,然后再加密。