private static SecureRandom create() {
    // Use Conscrypt if possible. Conscrypt may have three different provider names.
    // For legacy compatibility reasons it uses the algorithm name "SHA1PRNG".
    try {
      return SecureRandom.getInstance("SHA1PRNG", "GmsCore_OpenSSL");
    } catch (GeneralSecurityException e) {
      // ignore
    }
    try {
      return SecureRandom.getInstance("SHA1PRNG", "AndroidOpenSSL");
    } catch (GeneralSecurityException e) {
      // ignore
    }
    try {
      return SecureRandom.getInstance("SHA1PRNG", "Conscrypt");
    } catch (GeneralSecurityException e) {
      // ignore
    }
    // Conscrypt might be present in the binary, but not (yet) installed.
    try {
      return SecureRandom.getInstance("SHA1PRNG", getConscryptProviderWithReflection());
    } catch (GeneralSecurityException e) {
      // ignore
    }
    return new SecureRandom();
  }
Tries to get the Conscrypt provider using reflection.

<p>Note that this will typically fail on Android, because after ProGuard renames all class and
method names. However, on Android Conscrypt is installed by default and so this code is not
executed.
java_src/src/main/java/com/google/crypto/tink/internal/Random.java