]> git.saurik.com Git - apple/security.git/blobdiff - Security/libsecurity_transform/misc/base32alpha2vals
Security-57031.1.35.tar.gz
[apple/security.git] / Security / libsecurity_transform / misc / base32alpha2vals
diff --git a/Security/libsecurity_transform/misc/base32alpha2vals b/Security/libsecurity_transform/misc/base32alpha2vals
new file mode 100755 (executable)
index 0000000..eb89d1b
--- /dev/null
@@ -0,0 +1,29 @@
+#!/usr/bin/perl
+
+# Quick & dirty, gennerate the Base32XVals for a given alphabet
+
+use strict qw(vars);
+
+if (1 != @ARGV) {
+       die "usage: $0 base32alphabet\n";
+}
+my $alphabet = $ARGV[0];
+if (32 != length($alphabet)) {
+       die "alphabet needs exactly 32 charactors";
+}
+
+my @vals = (0xff) x 256;
+$vals[ord('=')] = 0xee;
+
+for(my $i = 0; $i < length($alphabet); $i++) {
+       my $ch = substr($alphabet, $i, 1);
+       my $v = ord($ch);
+       print "$i: $ch $v\n";
+
+       $vals[$v] = $i;
+}
+
+for(my $i = 0; $i < @vals; $i++) {
+       printf "0x%02x, ", $vals[$i];
+       print "\n" unless (($i-2) % 11);
+}