我希望通过提供自己的密钥来加密输入并获得加密输出。
这里的关键点(这使我与帖子的帖子和我到目前为止用google搜索的内容区别开来)
答案 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即可。 Ruby和JavaScript。
(根据已接受的评论编辑。)