如何在两个hexa字符串之间进行XOR运算?

sat*_*sat 7 ruby xor

我有两个十六进制字符串.我需要XOR在它们之间进行操作.

我的六角串喜欢,

 a = "1A6F2D31567C80644A5BEF2D50B986B";
 b = "EF737F481FC7CDAE7C8B40837C80644";
Run Code Online (Sandbox Code Playgroud)

如何在它们之间进行XOR操作?你能给出一些指导方针吗?

tok*_*and 12

这适用于任何基础:

>> (a.to_i(16) ^ b.to_i(16)).to_s(16) 
=> "f51c527949bb4dca36d0afae2c39e2f"
Run Code Online (Sandbox Code Playgroud)

但是您可以将String#hex用于十六进制字符串.


ste*_*lag 9

a = "1A6F2D31567C80644A5BEF2D50B986B"
b = "EF737F481FC7CDAE7C8B40837C80644"
a.hex ^ b.hex
#or (a.hex ^ b.hex).to_s(16)
Run Code Online (Sandbox Code Playgroud)