code: private SecretKey getSecretKey(char[] key) throws NoSuchAlgorithmException, UnsupportedEncodingException, InvalidKeySpecException {
          SecretKeyFactory factory = SecretKeyFactory.getInstance(mBuilder.getSecretKeyType());
          KeySpec spec = new PBEKeySpec(key, mBuilder.getSalt().getBytes(mBuilder.getCharsetName()), mBuilder.getIterationCount(), mBuilder.getKeyLength());
          SecretKey tmp = factory.generateSecret(spec);
          return new SecretKeySpec(tmp.getEncoded(), mBuilder.getKeyAlgorithm());
      }
docs: creates a 128bit salted aes key
  
  @param key encoded input key
  
  @return aes 128 bit salted key
  
  @throws NoSuchAlgorithmException     if no installed provider that can provide the requested
  by the Builder secret key type
  @throws UnsupportedEncodingException if the Builder charset name is not supported
  @throws InvalidKeySpecException      if the specified key specification cannot be used to
  generate a secret key
  @throws NullPointerException         if the specified Builder secret key type is {@code null}