Пример #1
0
 /**
  * Returns a {@code Set} of all registered algorithms for the specified
  * cryptographic service. {@code "Signature"}, {@code "Cipher"} and {@code
  * "KeyStore"} are examples for such kind of services.
  *
  * @param serviceName
  *            the case-insensitive name of the service.
  * @return a {@code Set} of all registered algorithms for the specified
  *         cryptographic service, or an empty {@code Set} if {@code
  *         serviceName} is {@code null} or if no registered provider
  *         provides the requested service.
  */
 public static java.util.Set <String> getAlgorithms(String serviceName)
 {
     java.util.HashSet <String> result = new java.util.HashSet <String>();
     Provider[] p = getProviders();
     for (int i = 0; i < p.Length; i++)
     {
         for (java.util.Iterator <Provider.Service> it = p[i].getServices().iterator(); it.hasNext();)
         {
             Provider.Service s = (Provider.Service)it.next();
             if (Util.equalsIgnoreCase(s.getType(), serviceName))
             {
                 result.add(s.getAlgorithm());
             }
         }
     }
     return(result);
 }
Пример #2
0
 /*
  * Constructs a new instance of {@code SecureRandom}. An implementation for
  * the highest-priority provider is returned. The constructed instance will
  * not have been seeded.
  */
 public SecureRandom() : base(0)
 {
     Provider.Service service = findService();
     if (service == null)
     {
         this.provider        = null;
         this.secureRandomSpi = new SHA1PRNG_SecureRandomImpl();
         this.algorithm       = "SHA1PRNG"; //$NON-NLS-1$
     }
     else
     {
         try {
             this.provider        = service.getProvider();
             this.secureRandomSpi = (SecureRandomSpi)service.newInstance(null);
             this.algorithm       = service.getAlgorithm();
         } catch (java.lang.Exception e) {
             throw new RuntimeException(e);
         }
     }
 }