move salt generation to Base.build method; make salts use the crypt-base64 character set instead of hex