2017-03-01 9 views
0

私は2つのファイルを持っています:1.txtと2.txtは、両方とも16進文字を含んでいます。2つの16進数を入力する方法は?

1.txt : AFCD271E1EF7B1C3 
2.txt : AD6DD9F49F562AF0 

私は1.TXTと2.txtのXOR-INGの両方のデータ内容の結果をファイル「3.txt」を取得するには、コマンドのLinuxを必要としています。

例えば:事前に

3.txt : 2A0FEEA81A19B33 

感謝。

+0

誰かがあなたのためのアプリをしましたwww.nirsoft.net/utils/xorfiles.html 次回はどのようなprogについて具体的にしてください。あなたが望む言語、または何がos。 – aslavkin

+0

ありがとうございました –

+0

私はこのドメインに新しいと私はあなたの助けが必要です –

答えて

0

xorfilesスクリプトを作成し、chmodの+ X xorfiles、xorfiles 1.TXT 2.txt>

#!/bin/bash 
file1=$(echo| cat $1) 
file2=$(echo | cat $2) 


#xor $file1 $file2 

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[@]}" 
} 

echo $(xor $file1 $file2) 

結果3.txtます。http://

[email protected]:~$ ./xorfiles ./1.txt ./2.txt 
02a0feea81a19b33 
関連する問題