So... your passwords are 15 characters of the combination 0-9, a-f?
$ perl -e 'use Digest::SHA "sha256_base64"; print sha256_base64("master_password mail.google.com"), "\n";'
g/sOxZfr2DFE12r8Gs/D0bhwat5kku41L+kFmuCCQOoFor the special chars, I chose the Safari way of encoding, i.e. I only extract alpha-numberics from base64, and add a "-" every 3 chars. This also improves readability. I assume that if Apple chose this way of doing, either they studied it and/or sites will conform to that.