Skip to content

Instantly share code, notes, and snippets.

@nmcv
Created February 1, 2013 11:02
Show Gist options
  • Save nmcv/4690672 to your computer and use it in GitHub Desktop.
Save nmcv/4690672 to your computer and use it in GitHub Desktop.
Quick XOR of hexadecimal strings for BASH
# BASH function to get the result
# of a ^ b when a, b are in the
# following hexadecimal string
# form: AF396463D8705 ...
# Obtained from here:
# http://www.codeproject.com/Tips/470308/XOR-Hex-Strings-in-Linux-Shell-Script
# Author is Sanjay1982 (see http://www.codeproject.com/Members/Sanjay1982)
# Usage:
# $ xor AB20FF40 DD14FABC
function xor()
{
local res=(`echo "$1" | sed "s/../0x& /g"`)
shift 1
while [[ "$1" ]]; do
local one=(`echo "$1" | sed "s/../0x& /g"`)
local count1=${#res[@]}
if [ $count1 -lt ${#one[@]} ]
then
count1=${#one[@]}
fi
for (( i = 0; i < $count1; i++ ))
do
res[$i]=$((${one[$i]:-0} ^ ${res[$i]:-0}))
done
shift 1
done
printf "%02x" "${res[@]}"
}
@blackstrip
Copy link

Nice work. :)

@makelinux
Copy link

gdb -q -ex 'print/x 0xA ^ 0xF' -ex q

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment