code: public byte[] decryptBytes(String encryptedCredentials) {
          checkNotNull(encryptedCredentials, "encryptedCredentials");
  
          try {
              byte[] encryptedBytes = BaseEncoding.base64().omitPadding().decode(encryptedCredentials);
              Cipher cipher = Cipher.getInstance(CIPHER);
              cipher.init(Cipher.DECRYPT_MODE, _key, _iv);
              ByteBuffer plaintextBytes = ByteBuffer.wrap(cipher.doFinal(encryptedBytes));
              int length = plaintextBytes.getInt();
              byte[] apiKey = new byte[length];
              plaintextBytes.get(apiKey);
              return apiKey;
          } catch (Throwable t) {
              // This shouldn't happen since AES is supported by all JVMs.
              throw Throwables.propagate(t);
          }
      }
docs: Recovers the plaintext bytes from the encrypted value returned by {@link #encryptBytes(byte[])}.