1#!/usr/bin/perl 2 3# Quick & dirty, gennerate the Base32XVals for a given alphabet 4 5use strict qw(vars); 6 7if (1 != @ARGV) { 8 die "usage: $0 base32alphabet\n"; 9} 10my $alphabet = $ARGV[0]; 11if (32 != length($alphabet)) { 12 die "alphabet needs exactly 32 charactors"; 13} 14 15my @vals = (0xff) x 256; 16$vals[ord('=')] = 0xee; 17 18for(my $i = 0; $i < length($alphabet); $i++) { 19 my $ch = substr($alphabet, $i, 1); 20 my $v = ord($ch); 21 print "$i: $ch $v\n"; 22 23 $vals[$v] = $i; 24} 25 26for(my $i = 0; $i < @vals; $i++) { 27 printf "0x%02x, ", $vals[$i]; 28 print "\n" unless (($i-2) % 11); 29} 30