红宝石中的字符串Xor

时间:2008-12-08 09:24:47

标签: ruby xor

我有一个字符串,让我们说“123 | ABC | test | 12345 | FF”,我想xor每个字符的ascii值并以十六进制打印结果。

最简单的方法是什么?

2 个答案:

答案 0 :(得分:4)

发现它......

lrc = 0
input.each_byte do | c |
    lrc ^= c
end
hexVal = lrc.to_s(16)

答案 1 :(得分:4)

在Ruby 1.8.7或1.9.1中:

input.bytes.inject { |a,b| a ^ b }.to_s(16)