`

获得java支持的所有安全算法以及对应的模式

    博客分类:
  • JAVA
 
阅读更多

记得之前由于android上AES算法实现时就遇到各种安全算法的问题,这次又有同事遇到了,之前看到一篇帖子不错,忘了记录下来,这次又找了出来,故在此分享下。

 

首先环境:

JAVA 1.6.0.27

OS  windows

 

获得所有支持的算法(查看源码可以知道来源)

 

 

 public static void main(String[] args) {
	
	for (Provider provider : Security.getProviders()){
	    System.out.println("Provider: " + provider.getName());    
	    for (Provider.Service service : provider.getServices()){    
		System.out.println("  Algorithm: " + service.getAlgorithm());   
	    }  
	    System.out.println("\n");
	} 

    }
 

 

 结果如下 :

 

Provider: SUN
  Algorithm: SHA1PRNG
  Algorithm: SHA1withDSA
  Algorithm: NONEwithDSA
  Algorithm: DSA
  Algorithm: MD2
  Algorithm: MD5
  Algorithm: SHA
  Algorithm: SHA-256
  Algorithm: SHA-384
  Algorithm: SHA-512
  Algorithm: DSA
  Algorithm: DSA
  Algorithm: DSA
  Algorithm: X.509
  Algorithm: JKS
  Algorithm: CaseExactJKS
  Algorithm: JavaPolicy
  Algorithm: JavaLoginConfig
  Algorithm: PKIX
  Algorithm: PKIX
  Algorithm: LDAP
  Algorithm: Collection
  Algorithm: com.sun.security.IndexedCollection


Provider: SunRsaSign
  Algorithm: RSA
  Algorithm: RSA
  Algorithm: MD2withRSA
  Algorithm: MD5withRSA
  Algorithm: SHA1withRSA
  Algorithm: SHA256withRSA
  Algorithm: SHA384withRSA
  Algorithm: SHA512withRSA


Provider: SunJSSE
  Algorithm: RSA
  Algorithm: RSA
  Algorithm: MD2withRSA
  Algorithm: MD5withRSA
  Algorithm: SHA1withRSA
  Algorithm: MD5andSHA1withRSA
  Algorithm: SunX509
  Algorithm: NewSunX509
  Algorithm: SunX509
  Algorithm: PKIX
  Algorithm: SSL
  Algorithm: SSLv3
  Algorithm: TLS
  Algorithm: TLSv1
  Algorithm: Default
  Algorithm: PKCS12


Provider: SunJCE
  Algorithm: RSA
  Algorithm: DES
  Algorithm: DESede
  Algorithm: DESedeWrap
  Algorithm: PBEWithMD5AndDES
  Algorithm: PBEWithMD5AndTripleDES
  Algorithm: PBEWithSHA1AndRC2_40
  Algorithm: PBEWithSHA1AndDESede
  Algorithm: Blowfish
  Algorithm: AES
  Algorithm: AESWrap
  Algorithm: RC2
  Algorithm: ARCFOUR
  Algorithm: DES
  Algorithm: DESede
  Algorithm: Blowfish
  Algorithm: AES
  Algorithm: RC2
  Algorithm: ARCFOUR
  Algorithm: HmacMD5
  Algorithm: HmacSHA1
  Algorithm: HmacSHA256
  Algorithm: HmacSHA384
  Algorithm: HmacSHA512
  Algorithm: DiffieHellman
  Algorithm: DiffieHellman
  Algorithm: DiffieHellman
  Algorithm: DiffieHellman
  Algorithm: DES
  Algorithm: DESede
  Algorithm: PBE
  Algorithm: PBEWithMD5AndDES
  Algorithm: PBEWithMD5AndTripleDES
  Algorithm: PBEWithSHA1AndDESede
  Algorithm: PBEWithSHA1AndRC2_40
  Algorithm: Blowfish
  Algorithm: AES
  Algorithm: RC2
  Algorithm: OAEP
  Algorithm: DiffieHellman
  Algorithm: DES
  Algorithm: DESede
  Algorithm: PBEWithMD5AndDES
  Algorithm: PBEWithMD5AndTripleDES
  Algorithm: PBEWithSHA1AndDESede
  Algorithm: PBEWithSHA1AndRC2_40
  Algorithm: PBKDF2WithHmacSHA1
  Algorithm: HmacMD5
  Algorithm: HmacSHA1
  Algorithm: HmacSHA256
  Algorithm: HmacSHA384
  Algorithm: HmacSHA512
  Algorithm: HmacPBESHA1
  Algorithm: SslMacMD5
  Algorithm: SslMacSHA1
  Algorithm: JCEKS
  Algorithm: SunTlsPrf
  Algorithm: SunTlsRsaPremasterSecret
  Algorithm: SunTlsMasterSecret
  Algorithm: SunTlsKeyMaterial


Provider: SunJGSS
  Algorithm: 1.2.840.113554.1.2.2
  Algorithm: 1.3.6.1.5.5.2


Provider: SunSASL
  Algorithm: DIGEST-MD5
  Algorithm: GSSAPI
  Algorithm: EXTERNAL
  Algorithm: PLAIN
  Algorithm: CRAM-MD5
  Algorithm: CRAM-MD5
  Algorithm: GSSAPI
  Algorithm: DIGEST-MD5


Provider: XMLDSig
  Algorithm: http://www.w3.org/2000/09/xmldsig#enveloped-signature
  Algorithm: http://www.w3.org/2002/06/xmldsig-filter2
  Algorithm: http://www.w3.org/2001/10/xml-exc-c14n#WithComments
  Algorithm: http://www.w3.org/2001/10/xml-exc-c14n#
  Algorithm: http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments
  Algorithm: DOM
  Algorithm: http://www.w3.org/2000/09/xmldsig#base64
  Algorithm: http://www.w3.org/TR/2001/REC-xml-c14n-20010315
  Algorithm: http://www.w3.org/TR/1999/REC-xpath-19991116
  Algorithm: http://www.w3.org/TR/1999/REC-xslt-19991116
  Algorithm: DOM


Provider: SunPCSC
  Algorithm: PC/SC


Provider: SunMSCAPI
  Algorithm: Windows-PRNG
  Algorithm: Windows-MY
  Algorithm: Windows-ROOT
  Algorithm: NONEwithRSA
  Algorithm: SHA1withRSA
  Algorithm: SHA256withRSA
  Algorithm: SHA384withRSA
  Algorithm: SHA512withRSA
  Algorithm: MD5withRSA
  Algorithm: MD2withRSA
  Algorithm: RSA
  Algorithm: RSA
  Algorithm: RSA/ECB/PKCS1Padding

 

 

获得算法支持的模式

 

 public static void main(String[] args) {
	
	for (Provider provider : Security.getProviders()){
	    System.out.println("Provider: " + provider.getName());    
	    for (Provider.Service service : provider.getServices()){    
		System.out.println("  Algorithm  Pattern: " + service);   
	    }  
	    System.out.println("\n");
	} 

    }
 

 

结果如下:

 

Provider: SUN
  Algorithm  Pattern: SUN: SecureRandom.SHA1PRNG -> sun.security.provider.SecureRandom
  attributes: {ImplementedIn=Software}

  Algorithm  Pattern: SUN: Signature.SHA1withDSA -> sun.security.provider.DSA$SHA1withDSA
  aliases: [DSA, DSS, SHA/DSA, SHA-1/DSA, SHA1/DSA, SHAwithDSA, DSAWithSHA1, OID.1.2.840.10040.4.3, 1.2.840.10040.4.3, 1.3.14.3.2.13, 1.3.14.3.2.27]
  attributes: {ImplementedIn=Software, KeySize=1024, SupportedKeyClasses=java.security.interfaces.DSAPublicKey|java.security.interfaces.DSAPrivateKey}

  Algorithm  Pattern: SUN: Signature.NONEwithDSA -> sun.security.provider.DSA$RawDSA
  aliases: [RawDSA]
  attributes: {SupportedKeyClasses=java.security.interfaces.DSAPublicKey|java.security.interfaces.DSAPrivateKey}

  Algorithm  Pattern: SUN: KeyPairGenerator.DSA -> sun.security.provider.DSAKeyPairGenerator
  aliases: [OID.1.2.840.10040.4.1, 1.2.840.10040.4.1, 1.3.14.3.2.12]
  attributes: {ImplementedIn=Software, KeySize=1024}

  Algorithm  Pattern: SUN: MessageDigest.MD2 -> sun.security.provider.MD2

  Algorithm  Pattern: SUN: MessageDigest.MD5 -> sun.security.provider.MD5
  attributes: {ImplementedIn=Software}

  Algorithm  Pattern: SUN: MessageDigest.SHA -> sun.security.provider.SHA
  aliases: [SHA-1, SHA1]
  attributes: {ImplementedIn=Software}

  Algorithm  Pattern: SUN: MessageDigest.SHA-256 -> sun.security.provider.SHA2

  Algorithm  Pattern: SUN: MessageDigest.SHA-384 -> sun.security.provider.SHA5$SHA384

  Algorithm  Pattern: SUN: MessageDigest.SHA-512 -> sun.security.provider.SHA5$SHA512

  Algorithm  Pattern: SUN: AlgorithmParameterGenerator.DSA -> sun.security.provider.DSAParameterGenerator
  attributes: {ImplementedIn=Software, KeySize=1024}

  Algorithm  Pattern: SUN: AlgorithmParameters.DSA -> sun.security.provider.DSAParameters
  aliases: [1.3.14.3.2.12, 1.2.840.10040.4.1]
  attributes: {ImplementedIn=Software}

  Algorithm  Pattern: SUN: KeyFactory.DSA -> sun.security.provider.DSAKeyFactory
  aliases: [1.3.14.3.2.12, 1.2.840.10040.4.1]
  attributes: {ImplementedIn=Software}

  Algorithm  Pattern: SUN: CertificateFactory.X.509 -> sun.security.provider.X509Factory
  aliases: [X509]
  attributes: {ImplementedIn=Software}

  Algorithm  Pattern: SUN: KeyStore.JKS -> sun.security.provider.JavaKeyStore$JKS
  attributes: {ImplementedIn=Software}

  Algorithm  Pattern: SUN: KeyStore.CaseExactJKS -> sun.security.provider.JavaKeyStore$CaseExactJKS

  Algorithm  Pattern: SUN: Policy.JavaPolicy -> sun.security.provider.PolicySpiFile

  Algorithm  Pattern: SUN: Configuration.JavaLoginConfig -> sun.security.provider.ConfigSpiFile

  Algorithm  Pattern: SUN: CertPathBuilder.PKIX -> sun.security.provider.certpath.SunCertPathBuilder
  attributes: {ValidationAlgorithm=RFC3280, ImplementedIn=Software}

  Algorithm  Pattern: SUN: CertPathValidator.PKIX -> sun.security.provider.certpath.PKIXCertPathValidator
  attributes: {ValidationAlgorithm=RFC3280, ImplementedIn=Software}

  Algorithm  Pattern: SUN: CertStore.LDAP -> sun.security.provider.certpath.LDAPCertStore
  attributes: {ImplementedIn=Software, LDAPSchema=RFC2587}

  Algorithm  Pattern: SUN: CertStore.Collection -> sun.security.provider.certpath.CollectionCertStore
  attributes: {ImplementedIn=Software}

  Algorithm  Pattern: SUN: CertStore.com.sun.security.IndexedCollection -> sun.security.provider.certpath.IndexedCollectionCertStore
  attributes: {ImplementedIn=Software}



Provider: SunRsaSign
  Algorithm  Pattern: SunRsaSign: KeyFactory.RSA -> sun.security.rsa.RSAKeyFactory
  aliases: [1.2.840.113549.1.1, OID.1.2.840.113549.1.1]

  Algorithm  Pattern: SunRsaSign: KeyPairGenerator.RSA -> sun.security.rsa.RSAKeyPairGenerator
  aliases: [1.2.840.113549.1.1, OID.1.2.840.113549.1.1]

  Algorithm  Pattern: SunRsaSign: Signature.MD2withRSA -> sun.security.rsa.RSASignature$MD2withRSA
  aliases: [1.2.840.113549.1.1.2, OID.1.2.840.113549.1.1.2]
  attributes: {SupportedKeyClasses=java.security.interfaces.RSAPublicKey|java.security.interfaces.RSAPrivateKey}

  Algorithm  Pattern: SunRsaSign: Signature.MD5withRSA -> sun.security.rsa.RSASignature$MD5withRSA
  aliases: [1.2.840.113549.1.1.4, OID.1.2.840.113549.1.1.4]
  attributes: {SupportedKeyClasses=java.security.interfaces.RSAPublicKey|java.security.interfaces.RSAPrivateKey}

  Algorithm  Pattern: SunRsaSign: Signature.SHA1withRSA -> sun.security.rsa.RSASignature$SHA1withRSA
  aliases: [1.2.840.113549.1.1.5, OID.1.2.840.113549.1.1.5, 1.3.14.3.2.29]
  attributes: {SupportedKeyClasses=java.security.interfaces.RSAPublicKey|java.security.interfaces.RSAPrivateKey}

  Algorithm  Pattern: SunRsaSign: Signature.SHA256withRSA -> sun.security.rsa.RSASignature$SHA256withRSA
  aliases: [1.2.840.113549.1.1.11, OID.1.2.840.113549.1.1.11]
  attributes: {SupportedKeyClasses=java.security.interfaces.RSAPublicKey|java.security.interfaces.RSAPrivateKey}

  Algorithm  Pattern: SunRsaSign: Signature.SHA384withRSA -> sun.security.rsa.RSASignature$SHA384withRSA
  aliases: [1.2.840.113549.1.1.12, OID.1.2.840.113549.1.1.12]
  attributes: {SupportedKeyClasses=java.security.interfaces.RSAPublicKey|java.security.interfaces.RSAPrivateKey}

  Algorithm  Pattern: SunRsaSign: Signature.SHA512withRSA -> sun.security.rsa.RSASignature$SHA512withRSA
  aliases: [1.2.840.113549.1.1.13, OID.1.2.840.113549.1.1.13]
  attributes: {SupportedKeyClasses=java.security.interfaces.RSAPublicKey|java.security.interfaces.RSAPrivateKey}



Provider: SunJSSE
  Algorithm  Pattern: SunJSSE: KeyFactory.RSA -> sun.security.rsa.RSAKeyFactory
  aliases: [1.2.840.113549.1.1, OID.1.2.840.113549.1.1]

  Algorithm  Pattern: SunJSSE: KeyPairGenerator.RSA -> sun.security.rsa.RSAKeyPairGenerator
  aliases: [1.2.840.113549.1.1, OID.1.2.840.113549.1.1]

  Algorithm  Pattern: SunJSSE: Signature.MD2withRSA -> sun.security.rsa.RSASignature$MD2withRSA
  aliases: [1.2.840.113549.1.1.2, OID.1.2.840.113549.1.1.2]

  Algorithm  Pattern: SunJSSE: Signature.MD5withRSA -> sun.security.rsa.RSASignature$MD5withRSA
  aliases: [1.2.840.113549.1.1.4, OID.1.2.840.113549.1.1.4]

  Algorithm  Pattern: SunJSSE: Signature.SHA1withRSA -> sun.security.rsa.RSASignature$SHA1withRSA
  aliases: [1.2.840.113549.1.1.5, OID.1.2.840.113549.1.1.5, 1.3.14.3.2.29, OID.1.3.14.3.2.29]

  Algorithm  Pattern: SunJSSE: Signature.MD5andSHA1withRSA -> com.sun.net.ssl.internal.ssl.RSASignature

  Algorithm  Pattern: SunJSSE: KeyManagerFactory.SunX509 -> com.sun.net.ssl.internal.ssl.KeyManagerFactoryImpl$SunX509

  Algorithm  Pattern: SunJSSE: KeyManagerFactory.NewSunX509 -> com.sun.net.ssl.internal.ssl.KeyManagerFactoryImpl$X509

  Algorithm  Pattern: SunJSSE: TrustManagerFactory.SunX509 -> com.sun.net.ssl.internal.ssl.TrustManagerFactoryImpl$SimpleFactory

  Algorithm  Pattern: SunJSSE: TrustManagerFactory.PKIX -> com.sun.net.ssl.internal.ssl.TrustManagerFactoryImpl$PKIXFactory
  aliases: [SunPKIX, X509, X.509]

  Algorithm  Pattern: SunJSSE: SSLContext.SSL -> com.sun.net.ssl.internal.ssl.SSLContextImpl

  Algorithm  Pattern: SunJSSE: SSLContext.SSLv3 -> com.sun.net.ssl.internal.ssl.SSLContextImpl

  Algorithm  Pattern: SunJSSE: SSLContext.TLS -> com.sun.net.ssl.internal.ssl.SSLContextImpl

  Algorithm  Pattern: SunJSSE: SSLContext.TLSv1 -> com.sun.net.ssl.internal.ssl.SSLContextImpl

  Algorithm  Pattern: SunJSSE: SSLContext.Default -> com.sun.net.ssl.internal.ssl.DefaultSSLContextImpl

  Algorithm  Pattern: SunJSSE: KeyStore.PKCS12 -> com.sun.net.ssl.internal.pkcs12.PKCS12KeyStore



Provider: SunJCE
  Algorithm  Pattern: SunJCE: Cipher.RSA -> com.sun.crypto.provider.RSACipher
  attributes: {SupportedKeyClasses=java.security.interfaces.RSAPublicKey|java.security.interfaces.RSAPrivateKey, SupportedPaddings=NOPADDING|PKCS1PADDING|OAEPWITHMD5ANDMGF1PADDING|OAEPWITHSHA1ANDMGF1PADDING|OAEPWITHSHA-1ANDMGF1PADDING|OAEPWITHSHA-256ANDMGF1PADDING|OAEPWITHSHA-384ANDMGF1PADDING|OAEPWITHSHA-512ANDMGF1PADDING, SupportedModes=ECB}

  Algorithm  Pattern: SunJCE: Cipher.DES -> com.sun.crypto.provider.DESCipher
  attributes: {SupportedKeyFormats=RAW, SupportedPaddings=NOPADDING|PKCS5PADDING|ISO10126PADDING, SupportedModes=ECB|CBC|PCBC|CTR|CTS|CFB|OFB|CFB8|CFB16|CFB24|CFB32|CFB40|CFB48|CFB56|CFB64|OFB8|OFB16|OFB24|OFB32|OFB40|OFB48|OFB56|OFB64}

  Algorithm  Pattern: SunJCE: Cipher.DESede -> com.sun.crypto.provider.DESedeCipher
  aliases: [TripleDES]
  attributes: {SupportedKeyFormats=RAW, SupportedPaddings=NOPADDING|PKCS5PADDING|ISO10126PADDING, SupportedModes=ECB|CBC|PCBC|CTR|CTS|CFB|OFB|CFB8|CFB16|CFB24|CFB32|CFB40|CFB48|CFB56|CFB64|OFB8|OFB16|OFB24|OFB32|OFB40|OFB48|OFB56|OFB64}

  Algorithm  Pattern: SunJCE: Cipher.DESedeWrap -> com.sun.crypto.provider.DESedeWrapCipher
  attributes: {SupportedKeyFormats=RAW, SupportedPaddings=NOPADDING, SupportedModes=CBC}

  Algorithm  Pattern: SunJCE: Cipher.PBEWithMD5AndDES -> com.sun.crypto.provider.PBEWithMD5AndDESCipher
  aliases: [OID.1.2.840.113549.1.5.3, 1.2.840.113549.1.5.3]

  Algorithm  Pattern: SunJCE: Cipher.PBEWithMD5AndTripleDES -> com.sun.crypto.provider.PBEWithMD5AndTripleDESCipher

  Algorithm  Pattern: SunJCE: Cipher.PBEWithSHA1AndRC2_40 -> com.sun.crypto.provider.PKCS12PBECipherCore$PBEWithSHA1AndRC2_40
  aliases: [OID.1.2.840.113549.1.12.1.6, 1.2.840.113549.1.12.1.6]

  Algorithm  Pattern: SunJCE: Cipher.PBEWithSHA1AndDESede -> com.sun.crypto.provider.PKCS12PBECipherCore$PBEWithSHA1AndDESede
  aliases: [OID.1.2.840.113549.1.12.1.3, 1.2.840.113549.1.12.1.3]

  Algorithm  Pattern: SunJCE: Cipher.Blowfish -> com.sun.crypto.provider.BlowfishCipher
  attributes: {SupportedKeyFormats=RAW, SupportedPaddings=NOPADDING|PKCS5PADDING|ISO10126PADDING, SupportedModes=ECB|CBC|PCBC|CTR|CTS|CFB|OFB|CFB8|CFB16|CFB24|CFB32|CFB40|CFB48|CFB56|CFB64|OFB8|OFB16|OFB24|OFB32|OFB40|OFB48|OFB56|OFB64}

  Algorithm  Pattern: SunJCE: Cipher.AES -> com.sun.crypto.provider.AESCipher
  aliases: [Rijndael]
  attributes: {SupportedKeyFormats=RAW, SupportedPaddings=NOPADDING|PKCS5PADDING|ISO10126PADDING, SupportedModes=ECB|CBC|PCBC|CTR|CTS|CFB|OFB|CFB8|CFB16|CFB24|CFB32|CFB40|CFB48|CFB56|CFB64|OFB8|OFB16|OFB24|OFB32|OFB40|OFB48|OFB56|OFB64|CFB72|CFB80|CFB88|CFB96|CFB104|CFB112|CFB120|CFB128|OFB72|OFB80|OFB88|OFB96|OFB104|OFB112|OFB120|OFB128}

  Algorithm  Pattern: SunJCE: Cipher.AESWrap -> com.sun.crypto.provider.AESWrapCipher
  attributes: {SupportedKeyFormats=RAW, SupportedPaddings=NOPADDING, SupportedModes=ECB}

  Algorithm  Pattern: SunJCE: Cipher.RC2 -> com.sun.crypto.provider.RC2Cipher
  attributes: {SupportedKeyFormats=RAW, SupportedPaddings=NOPADDING|PKCS5PADDING|ISO10126PADDING, SupportedModes=ECB|CBC|PCBC|CTR|CTS|CFB|OFB|CFB8|CFB16|CFB24|CFB32|CFB40|CFB48|CFB56|CFB64|OFB8|OFB16|OFB24|OFB32|OFB40|OFB48|OFB56|OFB64}

  Algorithm  Pattern: SunJCE: Cipher.ARCFOUR -> com.sun.crypto.provider.ARCFOURCipher
  aliases: [RC4]
  attributes: {SupportedKeyFormats=RAW, SupportedPaddings=NOPADDING, SupportedModes=ECB}

  Algorithm  Pattern: SunJCE: KeyGenerator.DES -> com.sun.crypto.provider.DESKeyGenerator

  Algorithm  Pattern: SunJCE: KeyGenerator.DESede -> com.sun.crypto.provider.DESedeKeyGenerator
  aliases: [TripleDES]

  Algorithm  Pattern: SunJCE: KeyGenerator.Blowfish -> com.sun.crypto.provider.BlowfishKeyGenerator

  Algorithm  Pattern: SunJCE: KeyGenerator.AES -> com.sun.crypto.provider.AESKeyGenerator
  aliases: [Rijndael]

  Algorithm  Pattern: SunJCE: KeyGenerator.RC2 -> com.sun.crypto.provider.KeyGeneratorCore$RC2KeyGenerator

  Algorithm  Pattern: SunJCE: KeyGenerator.ARCFOUR -> com.sun.crypto.provider.KeyGeneratorCore$ARCFOURKeyGenerator
  aliases: [RC4]

  Algorithm  Pattern: SunJCE: KeyGenerator.HmacMD5 -> com.sun.crypto.provider.HmacMD5KeyGenerator

  Algorithm  Pattern: SunJCE: KeyGenerator.HmacSHA1 -> com.sun.crypto.provider.HmacSHA1KeyGenerator

  Algorithm  Pattern: SunJCE: KeyGenerator.HmacSHA256 -> com.sun.crypto.provider.KeyGeneratorCore$HmacSHA256KG

  Algorithm  Pattern: SunJCE: KeyGenerator.HmacSHA384 -> com.sun.crypto.provider.KeyGeneratorCore$HmacSHA384KG

  Algorithm  Pattern: SunJCE: KeyGenerator.HmacSHA512 -> com.sun.crypto.provider.KeyGeneratorCore$HmacSHA512KG

  Algorithm  Pattern: SunJCE: KeyPairGenerator.DiffieHellman -> com.sun.crypto.provider.DHKeyPairGenerator
  aliases: [DH, OID.1.2.840.113549.1.3.1, 1.2.840.113549.1.3.1]

  Algorithm  Pattern: SunJCE: AlgorithmParameterGenerator.DiffieHellman -> com.sun.crypto.provider.DHParameterGenerator
  aliases: [DH, OID.1.2.840.113549.1.3.1, 1.2.840.113549.1.3.1]

  Algorithm  Pattern: SunJCE: KeyAgreement.DiffieHellman -> com.sun.crypto.provider.DHKeyAgreement
  aliases: [DH, OID.1.2.840.113549.1.3.1, 1.2.840.113549.1.3.1]
  attributes: {SupportedKeyClasses=javax.crypto.interfaces.DHPublicKey|javax.crypto.interfaces.DHPrivateKey}

  Algorithm  Pattern: SunJCE: AlgorithmParameters.DiffieHellman -> com.sun.crypto.provider.DHParameters
  aliases: [DH, OID.1.2.840.113549.1.3.1, 1.2.840.113549.1.3.1]

  Algorithm  Pattern: SunJCE: AlgorithmParameters.DES -> com.sun.crypto.provider.DESParameters

  Algorithm  Pattern: SunJCE: AlgorithmParameters.DESede -> com.sun.crypto.provider.DESedeParameters
  aliases: [TripleDES]

  Algorithm  Pattern: SunJCE: AlgorithmParameters.PBE -> com.sun.crypto.provider.PBEParameters

  Algorithm  Pattern: SunJCE: AlgorithmParameters.PBEWithMD5AndDES -> com.sun.crypto.provider.PBEParameters
  aliases: [OID.1.2.840.113549.1.5.3, 1.2.840.113549.1.5.3]

  Algorithm  Pattern: SunJCE: AlgorithmParameters.PBEWithMD5AndTripleDES -> com.sun.crypto.provider.PBEParameters

  Algorithm  Pattern: SunJCE: AlgorithmParameters.PBEWithSHA1AndDESede -> com.sun.crypto.provider.PBEParameters
  aliases: [OID.1.2.840.113549.1.12.1.3, 1.2.840.113549.1.12.1.3]

  Algorithm  Pattern: SunJCE: AlgorithmParameters.PBEWithSHA1AndRC2_40 -> com.sun.crypto.provider.PBEParameters
  aliases: [OID.1.2.840.113549.1.12.1.6, 1.2.840.113549.1.12.1.6]

  Algorithm  Pattern: SunJCE: AlgorithmParameters.Blowfish -> com.sun.crypto.provider.BlowfishParameters

  Algorithm  Pattern: SunJCE: AlgorithmParameters.AES -> com.sun.crypto.provider.AESParameters
  aliases: [Rijndael]

  Algorithm  Pattern: SunJCE: AlgorithmParameters.RC2 -> com.sun.crypto.provider.RC2Parameters

  Algorithm  Pattern: SunJCE: AlgorithmParameters.OAEP -> com.sun.crypto.provider.OAEPParameters

  Algorithm  Pattern: SunJCE: KeyFactory.DiffieHellman -> com.sun.crypto.provider.DHKeyFactory
  aliases: [DH, OID.1.2.840.113549.1.3.1, 1.2.840.113549.1.3.1]

  Algorithm  Pattern: SunJCE: SecretKeyFactory.DES -> com.sun.crypto.provider.DESKeyFactory

  Algorithm  Pattern: SunJCE: SecretKeyFactory.DESede -> com.sun.crypto.provider.DESedeKeyFactory
  aliases: [TripleDES]

  Algorithm  Pattern: SunJCE: SecretKeyFactory.PBEWithMD5AndDES -> com.sun.crypto.provider.PBEKeyFactory$PBEWithMD5AndDES
  aliases: [OID.1.2.840.113549.1.5.3, 1.2.840.113549.1.5.3, PBE]

  Algorithm  Pattern: SunJCE: SecretKeyFactory.PBEWithMD5AndTripleDES -> com.sun.crypto.provider.PBEKeyFactory$PBEWithMD5AndTripleDES

  Algorithm  Pattern: SunJCE: SecretKeyFactory.PBEWithSHA1AndDESede -> com.sun.crypto.provider.PBEKeyFactory$PBEWithSHA1AndDESede
  aliases: [OID.1.2.840.113549.1.12.1.3, 1.2.840.113549.1.12.1.3]

  Algorithm  Pattern: SunJCE: SecretKeyFactory.PBEWithSHA1AndRC2_40 -> com.sun.crypto.provider.PBEKeyFactory$PBEWithSHA1AndRC2_40
  aliases: [OID.1.2.840.113549.1.12.1.6, 1.2.840.113549.1.12.1.6]

  Algorithm  Pattern: SunJCE: SecretKeyFactory.PBKDF2WithHmacSHA1 -> com.sun.crypto.provider.PBKDF2HmacSHA1Factory
  aliases: [OID.1.2.840.113549.1.5.12, 1.2.840.113549.1.5.12]

  Algorithm  Pattern: SunJCE: Mac.HmacMD5 -> com.sun.crypto.provider.HmacMD5
  attributes: {SupportedKeyFormats=RAW}

  Algorithm  Pattern: SunJCE: Mac.HmacSHA1 -> com.sun.crypto.provider.HmacSHA1
  attributes: {SupportedKeyFormats=RAW}

  Algorithm  Pattern: SunJCE: Mac.HmacSHA256 -> com.sun.crypto.provider.HmacCore$HmacSHA256
  attributes: {SupportedKeyFormats=RAW}

  Algorithm  Pattern: SunJCE: Mac.HmacSHA384 -> com.sun.crypto.provider.HmacCore$HmacSHA384
  attributes: {SupportedKeyFormats=RAW}

  Algorithm  Pattern: SunJCE: Mac.HmacSHA512 -> com.sun.crypto.provider.HmacCore$HmacSHA512
  attributes: {SupportedKeyFormats=RAW}

  Algorithm  Pattern: SunJCE: Mac.HmacPBESHA1 -> com.sun.crypto.provider.HmacPKCS12PBESHA1
  attributes: {SupportedKeyFormats=RAW}

  Algorithm  Pattern: SunJCE: Mac.SslMacMD5 -> com.sun.crypto.provider.SslMacCore$SslMacMD5
  attributes: {SupportedKeyFormats=RAW}

  Algorithm  Pattern: SunJCE: Mac.SslMacSHA1 -> com.sun.crypto.provider.SslMacCore$SslMacSHA1
  attributes: {SupportedKeyFormats=RAW}

  Algorithm  Pattern: SunJCE: KeyStore.JCEKS -> com.sun.crypto.provider.JceKeyStore

  Algorithm  Pattern: SunJCE: KeyGenerator.SunTlsPrf -> com.sun.crypto.provider.TlsPrfGenerator

  Algorithm  Pattern: SunJCE: KeyGenerator.SunTlsRsaPremasterSecret -> com.sun.crypto.provider.TlsRsaPremasterSecretGenerator

  Algorithm  Pattern: SunJCE: KeyGenerator.SunTlsMasterSecret -> com.sun.crypto.provider.TlsMasterSecretGenerator

  Algorithm  Pattern: SunJCE: KeyGenerator.SunTlsKeyMaterial -> com.sun.crypto.provider.TlsKeyMaterialGenerator



Provider: SunJGSS
  Algorithm  Pattern: SunJGSS: GssApiMechanism.1.2.840.113554.1.2.2 -> sun.security.jgss.krb5.Krb5MechFactory

  Algorithm  Pattern: SunJGSS: GssApiMechanism.1.3.6.1.5.5.2 -> sun.security.jgss.spnego.SpNegoMechFactory



Provider: SunSASL
  Algorithm  Pattern: SunSASL: SaslClientFactory.DIGEST-MD5 -> com.sun.security.sasl.digest.FactoryImpl

  Algorithm  Pattern: SunSASL: SaslClientFactory.GSSAPI -> com.sun.security.sasl.gsskerb.FactoryImpl

  Algorithm  Pattern: SunSASL: SaslClientFactory.EXTERNAL -> com.sun.security.sasl.ClientFactoryImpl

  Algorithm  Pattern: SunSASL: SaslClientFactory.PLAIN -> com.sun.security.sasl.ClientFactoryImpl

  Algorithm  Pattern: SunSASL: SaslClientFactory.CRAM-MD5 -> com.sun.security.sasl.ClientFactoryImpl

  Algorithm  Pattern: SunSASL: SaslServerFactory.CRAM-MD5 -> com.sun.security.sasl.ServerFactoryImpl

  Algorithm  Pattern: SunSASL: SaslServerFactory.GSSAPI -> com.sun.security.sasl.gsskerb.FactoryImpl

  Algorithm  Pattern: SunSASL: SaslServerFactory.DIGEST-MD5 -> com.sun.security.sasl.digest.FactoryImpl



Provider: XMLDSig
  Algorithm  Pattern: XMLDSig: TransformService.http://www.w3.org/2000/09/xmldsig#enveloped-signature -> org.jcp.xml.dsig.internal.dom.DOMEnvelopedTransform
  aliases: [ENVELOPED]
  attributes: {MechanismType=DOM}

  Algorithm  Pattern: XMLDSig: TransformService.http://www.w3.org/2002/06/xmldsig-filter2 -> org.jcp.xml.dsig.internal.dom.DOMXPathFilter2Transform
  aliases: [XPATH2]
  attributes: {MechanismType=DOM}

  Algorithm  Pattern: XMLDSig: TransformService.http://www.w3.org/2001/10/xml-exc-c14n#WithComments -> org.jcp.xml.dsig.internal.dom.DOMExcC14NMethod
  aliases: [EXCLUSIVE_WITH_COMMENTS]
  attributes: {MechanismType=DOM}

  Algorithm  Pattern: XMLDSig: TransformService.http://www.w3.org/2001/10/xml-exc-c14n# -> org.jcp.xml.dsig.internal.dom.DOMExcC14NMethod
  aliases: [EXCLUSIVE]
  attributes: {MechanismType=DOM}

  Algorithm  Pattern: XMLDSig: TransformService.http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments -> org.jcp.xml.dsig.internal.dom.DOMCanonicalXMLC14NMethod
  aliases: [INCLUSIVE_WITH_COMMENTS]
  attributes: {MechanismType=DOM}

  Algorithm  Pattern: XMLDSig: XMLSignatureFactory.DOM -> org.jcp.xml.dsig.internal.dom.DOMXMLSignatureFactory

  Algorithm  Pattern: XMLDSig: TransformService.http://www.w3.org/2000/09/xmldsig#base64 -> org.jcp.xml.dsig.internal.dom.DOMBase64Transform
  aliases: [BASE64]
  attributes: {MechanismType=DOM}

  Algorithm  Pattern: XMLDSig: TransformService.http://www.w3.org/TR/2001/REC-xml-c14n-20010315 -> org.jcp.xml.dsig.internal.dom.DOMCanonicalXMLC14NMethod
  aliases: [INCLUSIVE]
  attributes: {MechanismType=DOM}

  Algorithm  Pattern: XMLDSig: TransformService.http://www.w3.org/TR/1999/REC-xpath-19991116 -> org.jcp.xml.dsig.internal.dom.DOMXPathTransform
  aliases: [XPATH]
  attributes: {MechanismType=DOM}

  Algorithm  Pattern: XMLDSig: TransformService.http://www.w3.org/TR/1999/REC-xslt-19991116 -> org.jcp.xml.dsig.internal.dom.DOMXSLTTransform
  aliases: [XSLT]
  attributes: {MechanismType=DOM}

  Algorithm  Pattern: XMLDSig: KeyInfoFactory.DOM -> org.jcp.xml.dsig.internal.dom.DOMKeyInfoFactory



Provider: SunPCSC
  Algorithm  Pattern: SunPCSC: TerminalFactory.PC/SC -> sun.security.smartcardio.SunPCSC$Factory



Provider: SunMSCAPI
  Algorithm  Pattern: SunMSCAPI: SecureRandom.Windows-PRNG -> sun.security.mscapi.PRNG

  Algorithm  Pattern: SunMSCAPI: KeyStore.Windows-MY -> sun.security.mscapi.KeyStore$MY

  Algorithm  Pattern: SunMSCAPI: KeyStore.Windows-ROOT -> sun.security.mscapi.KeyStore$ROOT

  Algorithm  Pattern: SunMSCAPI: Signature.NONEwithRSA -> sun.security.mscapi.RSASignature$Raw
  attributes: {SupportedKeyClasses=sun.security.mscapi.Key}

  Algorithm  Pattern: SunMSCAPI: Signature.SHA1withRSA -> sun.security.mscapi.RSASignature$SHA1
  attributes: {SupportedKeyClasses=sun.security.mscapi.Key}

  Algorithm  Pattern: SunMSCAPI: Signature.SHA256withRSA -> sun.security.mscapi.RSASignature$SHA256
  attributes: {SupportedKeyClasses=sun.security.mscapi.Key}

  Algorithm  Pattern: SunMSCAPI: Signature.SHA384withRSA -> sun.security.mscapi.RSASignature$SHA384
  attributes: {SupportedKeyClasses=sun.security.mscapi.Key}

  Algorithm  Pattern: SunMSCAPI: Signature.SHA512withRSA -> sun.security.mscapi.RSASignature$SHA512
  attributes: {SupportedKeyClasses=sun.security.mscapi.Key}

  Algorithm  Pattern: SunMSCAPI: Signature.MD5withRSA -> sun.security.mscapi.RSASignature$MD5
  attributes: {SupportedKeyClasses=sun.security.mscapi.Key}

  Algorithm  Pattern: SunMSCAPI: Signature.MD2withRSA -> sun.security.mscapi.RSASignature$MD2
  attributes: {SupportedKeyClasses=sun.security.mscapi.Key}

  Algorithm  Pattern: SunMSCAPI: KeyPairGenerator.RSA -> sun.security.mscapi.RSAKeyPairGenerator
  attributes: {KeySize=1024}

  Algorithm  Pattern: SunMSCAPI: Cipher.RSA -> sun.security.mscapi.RSACipher
  attributes: {SupportedKeyClasses=sun.security.mscapi.Key, SupportedPaddings=PKCS1PADDING, SupportedModes=ECB}

  Algorithm  Pattern: SunMSCAPI: Cipher.RSA/ECB/PKCS1Padding -> sun.security.mscapi.RSACipher


 

 

  参考自:

 

1::How to find out what algorithm [ encryption ] are supported by my JVM?

http://stackoverflow.com/questions/3683302/how-to-find-out-what-algorithm-encryption-are-supported-by-my-jvm

 

 

2: java_home\jre\lib\ext\sunjce_provider.jar

 

 

分享到:
评论

相关推荐

    BP.rar_BP_bp 神经网络 java 算法_bp 预测_java BP预测算法_预测算法java

    使用“BP.java”时,开发者需要准备训练数据集,包括输入值和对应的期望输出,调用合适的接口进行训练,然后用训练好的模型处理新的输入数据以获得预测值。需要注意的是,为了提高预测准确性,可能需要调整网络结构...

    FP树增长算法的java实现

    在提供的`fpgrowth`文件中,可能包含了FP树算法的具体Java实现代码,包括类定义、方法实现以及可能的数据示例。通过阅读和理解这段代码,我们可以深入学习FP树算法的内部工作机制,并将其应用到实际的数据挖掘项目中...

    IDEA算法(java)

    1. **JCA(Java Cryptography Architecture)和JCE(Java Cryptography Extension)**:Java提供了一套完整的加密框架,即JCA,它包含了各种加密算法的支持。JCE是JCA的一部分,专门用于扩展Java平台的加密功能,...

    AES算法Java实现

    以上就是关于“AES算法Java实现”的核心知识点,包括AES的基本原理、Java中的实现方式、加密过程、不同模式的选择以及安全注意事项。这些内容可以帮助你构建一个基本的AES加密解密工具,并理解其背后的机制。

    java策略模式的排序算法例子

    总结来说,这个Java策略模式排序算法的例子展示了如何利用设计模式来实现动态行为选择,同时涵盖了三种经典的排序算法。通过这种方式,开发者可以更方便地在不同排序算法之间切换,适应不同的性能需求或特定场景。...

    WM算法 多模式匹配算法

    WM算法的位移表是基于Hash函数的实现,每个模式字符串对应一个唯一的Hash值,该Hash值用于索引位移表。 算法步骤 1. 模式字符串预处理:将模式字符串拆分成单个字符,并将其转换为Hash值。 2. 构建位移表:使用...

    CRC算法 (Java版)

    CRC算法的核心是使用一个预定义的多项式,将数据与这个多项式进行异或操作,然后对结果进行模2除法,得到的余数即为CRC校验码。 在Java中实现CRC算法,通常涉及以下几个关键步骤: 1. **选择CRC多项式**:CRC有...

    我改进后的Wu-Manber经典多模式匹配算法(Java源码)

    2. **位向量构建**:对于每个子串,生成一个位向量,其中位向量的索引对应于该子串在所有模式中的出现位置,位值表示该子串是否存在于对应的模式中。 3. **Shift-And/Xor技术**:使用位向量进行位运算,例如Shift-...

    AC算法(java实现)

    在Java中实现AC算法,首先需要创建一个表示Trie节点的数据结构,通常包含指向子节点的引用、一个表示结束标记的字段(用于表示模式串的结束)以及失败指针。然后,遍历所有模式串,将它们插入到Trie树中,同时构建...

    java版连连看算法

    通过以上分析,我们可以看到Java版连连看游戏的实现不仅需要良好的类结构设计,还需要精心设计的随机生成机制以及核心算法的支持。希望本文能帮助读者更好地理解连连看游戏的开发过程和技术要点。 ### 参考文献 - ...

    JAVA课程设计算法包共10个

    8. **设计模式**:设计模式是解决常见编程问题的最佳实践,如工厂模式、单例模式、观察者模式等,它们在课程设计中常被用到。 9. **JDBC与数据库交互**:Java通过JDBC API可以连接和操作各种数据库,进行数据的增删...

    详解Java实现的k-means聚类算法

    Java实现的k-means聚类算法详解 k-means聚类算法是一种常用的无监督学习算法,用于对数据...Java实现的k-means聚类算法是一种常用的数据分析工具,能够帮助数据分析师和数据科学家发现隐藏在数据背后的规律和模式。

    AES加密算法的JAVA实现

    以上就是AES加密算法在Java中的实现基础,实际应用中还需要考虑错误处理、密钥管理、安全性等问题。通过`secret`这个文件名,可能包含了具体实现AES加密的Java代码示例,你可以查阅这个文件以获得更详细的信息。

    多模式匹配WM java实现源码

    1. **模式库构建**:首先,需要创建一个数据结构来存储所有的敏感词及其对应的权重。这通常可以通过哈希表或者二叉树等数据结构实现,以便快速查找和计算权重。 2. **权重计算**:对于给定的文本,算法会遍历每个...

    非对称加密算法:RSA算法的C++实现与Java实现

    在Java中实现RSA算法,可以利用Java的`java.security`包,该包提供了KeyPairGenerator、PublicKey、PrivateKey等类来生成和管理密钥对,以及Cipher类用于加密和解密操作。以下是大致步骤: 1. 初始化...

    基于java的粒子群算法优化神经网络设计与实现

    粒子群优化是一种受到鸟群飞行模式启发的全局优化算法,常用于解决复杂问题的最优化。它与神经网络的结合可以有效改善网络的训练效率和性能。 首先,我们需要理解粒子群优化的基本原理。PSO算法由多个被称为“粒子...

    kMP算法JavakMP算法JavakMP算法JavakMP算法Java

    这个算法的主要特点是利用预处理得到的“next”数组,避免了模式串回溯的过程,提高了匹配效率。下面我们将详细探讨KMP算法的原理、Java实现以及“next”数组的计算方法。 ### KMP算法原理 1. **模式匹配问题**:...

    GA.rar_GA_GA java_java ga_遗传算法 java_閬椾紶绠楁硶 java

    【标题】"GA.rar_GA_GA java_java ga_遗传算法 java_閬椾紶绠楁硶 java" 提供的信息表明,这是一个关于遗传算法(Genetic Algorithm,简称GA)的Java实现项目。遗传算法是一种借鉴生物进化原理的优化算法,广泛应用...

    MD5 算法的Java Bean

    MD5算法是RSA数据安全公司提出的一种散列算法,它能将任意长度的消息转换成一个固定长度(通常为128位)的“指纹”或摘要。这种算法在网络安全、密码学以及各种需要数据完整性检查的场景中广泛使用。本文档提供了一...

Global site tag (gtag.js) - Google Analytics