Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
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

This comment has been minimized.

Copy link

@blackstrip blackstrip commented Aug 27, 2013

Nice work. :)

@makelinux

This comment has been minimized.

Copy link

@makelinux makelinux commented Jun 27, 2016

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
You can’t perform that action at this time.