-#!/usr/bin/env perl
+#!/bin/sh
#
# A tool which generates strong shared secrets.
#
-use Convert::Base32;
-use Crypt::URandom();
-print join('-', unpack("(A4)*", lc encode_base32(Crypt::URandom::urandom(12)))), "\n";
+openssl rand -base64 12 2>/dev/null && exit 0
+
+(dd if=/dev/random bs=1 count=12 | base64 2>/dev/null) && exit 0
+
+(dd if=/dev/random bs=1 count=12 | base32 2>/dev/null) && exit 0
+
+echo "Failed finding 'openssl', 'base64', or 'base32' tools".
+exit 1