Security providers
The Android stack is customizable as far as the security providers are concerned. This means that the device manufacturers can add their own crypto providers. As an application developer, you are at liberty to use your own security provider as well. Since the Android stack provides only some capabilities of the Bouncy Castle security provider, Spongy Castle is hugely popular. Also, different versions of the Android stack keep updating their crypto capabilities by removing cryptographic algorithms that are way insecure and adding new ones. You may like to check the providers and their complete list of algorithms supported at a given point of time. Also, make sure to test your application on different devices to confirm that the crypto algorithms work as expected.
The following code snippet shows how to obtain a list of crypto providers by using the java.security.Providers
method:
for (Provider provider: Security.getProviders()) { System.out.println(provider.getName()...