Xor of string in ruby

前端 未结 2 1159
礼貌的吻别
礼貌的吻别 2020-12-07 04:55

I have a string, lets say \"123|ABC|test|12345|FF\" and I want to xor the ascii value of each character and print the result in hex.

What is the simplest way?

相关标签:
2条回答
  • 2020-12-07 05:12

    Found it...

    lrc = 0
    input.each_byte do | c |
        lrc ^= c
    end
    hexVal = lrc.to_s(16)
    
    0 讨论(0)
  • 2020-12-07 05:16

    In Ruby 1.8.7 or 1.9.1:

    input.bytes.inject { |a,b| a ^ b }.to_s(16)
    
    0 讨论(0)
提交回复
热议问题