Во-первых, как и предполагалось ранее, вы получите IllegalArgumentException, поскольку BigInteger не поддерживает radix 64.
Даже если вы используете допустимое основание, количество сгенерированных символов варьируется, поскольку BigInteger убирает начальные 0 и вы также можете получить знак минус в строке.
Чтобы получить случайные ключи, просто используйте случайные байты напрямую. Скажем, вы хотите 128-битный (16 байт) ключ AES, просто сделайте это,
byte[] keyBytes = new byte[16];
new SecureRandom().nextBytes(keyBytes);
SecretKey aesKey = new SecretKeySpec(keyBytes, "AES");