code: public static SecureRandom getSecureRandom()
  			throws NoSuchAlgorithmException {
  
  		if (secureRandom == null) {
  			try {
  				return secureRandom = JCEProvider
  						.getProviderForAlgorithm(JCEProvider
  								.getSecureRandomAlgorithm()) == null ? SecureRandom
  						.getInstance(JCEProvider.getSecureRandomAlgorithm())
  						: SecureRandom.getInstance(JCEProvider
  								.getSecureRandomAlgorithm(), JCEProvider
  								.getProviderForAlgorithm(JCEProvider
  										.getSecureRandomAlgorithm()));
  			} catch (NoSuchAlgorithmException e) {
  				return secureRandom = SecureRandom.getInstance(JCEProvider
  						.getSecureRandomAlgorithm());
  			}
  		}
  
  		return secureRandom;
  	}
docs: Get the secure random implementation for the API.
  
  @return SecureRandom
  @throws NoSuchAlgorithmException