WEPのASCIIをhexに表記した際、どのように記述すればよいか。
これらの用途にも利用可能である為、メモを残すとする。
Cisco Aironet では、HEXでは記述可能だが、ASCIIで記述し、自動的に変換するということは出来ないため、こういった方法で変換が可能となる。
#include<stdio.h>
#include<string.h>
int main(int argc, char *argv[]) {
char *key = argv[1];
while(*key != '\0')
printf("%X", *(key++));
printf("\n");
return 0;
}
./a.out AregeNoGeGeGe 41726567654E6F476547654765
$ echo -n 'AregeNoGeGeGe'| od -t x1z 0000000 41 72 65 67 65 4e 6f 47 65 47 65 47 65 >AregeNoGeGeGe< 0000015
$ echo -n 'AregeNoGeGeGe'| hexdump -C 00000000 41 72 65 67 65 4e 6f 47 65 47 65 47 65 |AregeNoGeGeGe| 0000000d
$ echo 'AregeNoGeGeGe' | perl -lne 'print unpack("H*", $_)'
41726567654e6f476547654765
$ ruby -le 'print "AregeNoGeGeGe".unpack("H*")'
41726567654e6f476547654765
ついでに逆も
echo '41726567654e6f476547654765' | perl -lne 'print pack("H*", $_)'
AregeNoGeGeGe