- 浏览: 2107260 次
- 性别:
- 来自: 杭州
文章分类
最新评论
-
无心流泪wan:
private static final Log log = ...
log4j Category.callAppenders Block -
yjxa901:
博主好: http://www.java.net/down ...
jdk debug -
aptech406328627:
大神,请接收我的膜拜吧,纠结了两天的问题,就这么让你给解决了 ...
java.lang.reflect.MalformedParameterizedTypeException -
xukunddp:
谢谢1楼,我也遇到,搞定了
java.lang.reflect.MalformedParameterizedTypeException -
di1984HIT:
学习了!!!!
jvmstat hsperfdata java.io.tmpdir
记得之前由于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
发表评论
-
groovy shell 安全
2017-01-18 11:29 1202groovy 可以动态执行代码,但是我们也想他在一定的沙箱中 ... -
eclipse 插件
2016-11-17 12:00 614eclipse remote editor https: ... -
java method signature
2013-08-12 21:07 2720case 'B': _type = T_BYT ... -
eclipse显示GC的按钮
2013-06-18 19:32 4340同事说idea的一个比较亮的功能是可以手动去GC,然后机器 ... -
好用的maven插件收集
2013-02-22 10:40 13501:Maven Shade Plugin(把所有jar打到一 ... -
查看JVM Flags
2013-01-09 14:22 1336-XX:+PrintFlagsFinal Jav ... -
开源的好用JVM问题排查工具
2013-01-08 09:45 1862TProfiler https://github.com/ ... -
java ocr
2013-01-04 13:06 3024java OCR相关的资料记录 Clara OC ... -
eclipse ast
2012-12-23 22:36 1015Eclipse JDT - Abstract Syntax ... -
正则生成器
2012-12-23 22:24 978能够依据普通文本给出可能的正则组合 http://ww ... -
Kilim
2012-12-14 23:40 1111Java 开发 2.0: Kilim 简介 h ... -
IO Design Patterns Reactor VS Proactor
2012-11-13 01:34 15101:两种高性能I/O设计模式(Reactor/Proactor ... -
antlr
2012-11-13 00:36 12211:使用 Antlr 开发领域语言 http://www.i ... -
java singalException
2012-11-12 21:39 983之前看到毕大师一封关于异常多造成的cpu us很高的分析邮件, ... -
log4j Category.callAppenders Block
2012-11-06 17:01 10117经常在高并发下就遇到log4j用错引起的线程block住的问题 ... -
Troubleshooting JDK
2012-10-26 14:13 1526收集整理下JDK自带的关于 Troubleshooting 的 ... -
JavaOne 2011 Content Catalog
2012-10-14 17:12 1171上一篇讲javaone 2012,这次找了下2011的资料。 ... -
JavaOne 2012 Content Catalog
2012-10-13 16:07 1309转载自:http://marxsoftware.blogspo ... -
Memory usage of Java
2012-10-01 17:30 1219用JDK自带的api计算size,每次都会有个多余的12,看了 ... -
GC roots
2012-10-01 17:07 18501:GC roots http://www.yourkit. ...
相关推荐
使用“BP.java”时,开发者需要准备训练数据集,包括输入值和对应的期望输出,调用合适的接口进行训练,然后用训练好的模型处理新的输入数据以获得预测值。需要注意的是,为了提高预测准确性,可能需要调整网络结构...
在提供的`fpgrowth`文件中,可能包含了FP树算法的具体Java实现代码,包括类定义、方法实现以及可能的数据示例。通过阅读和理解这段代码,我们可以深入学习FP树算法的内部工作机制,并将其应用到实际的数据挖掘项目中...
1. **JCA(Java Cryptography Architecture)和JCE(Java Cryptography Extension)**:Java提供了一套完整的加密框架,即JCA,它包含了各种加密算法的支持。JCE是JCA的一部分,专门用于扩展Java平台的加密功能,...
以上就是关于“AES算法Java实现”的核心知识点,包括AES的基本原理、Java中的实现方式、加密过程、不同模式的选择以及安全注意事项。这些内容可以帮助你构建一个基本的AES加密解密工具,并理解其背后的机制。
总结来说,这个Java策略模式排序算法的例子展示了如何利用设计模式来实现动态行为选择,同时涵盖了三种经典的排序算法。通过这种方式,开发者可以更方便地在不同排序算法之间切换,适应不同的性能需求或特定场景。...
WM算法的位移表是基于Hash函数的实现,每个模式字符串对应一个唯一的Hash值,该Hash值用于索引位移表。 算法步骤 1. 模式字符串预处理:将模式字符串拆分成单个字符,并将其转换为Hash值。 2. 构建位移表:使用...
CRC算法的核心是使用一个预定义的多项式,将数据与这个多项式进行异或操作,然后对结果进行模2除法,得到的余数即为CRC校验码。 在Java中实现CRC算法,通常涉及以下几个关键步骤: 1. **选择CRC多项式**:CRC有...
2. **位向量构建**:对于每个子串,生成一个位向量,其中位向量的索引对应于该子串在所有模式中的出现位置,位值表示该子串是否存在于对应的模式中。 3. **Shift-And/Xor技术**:使用位向量进行位运算,例如Shift-...
在Java中实现AC算法,首先需要创建一个表示Trie节点的数据结构,通常包含指向子节点的引用、一个表示结束标记的字段(用于表示模式串的结束)以及失败指针。然后,遍历所有模式串,将它们插入到Trie树中,同时构建...
通过以上分析,我们可以看到Java版连连看游戏的实现不仅需要良好的类结构设计,还需要精心设计的随机生成机制以及核心算法的支持。希望本文能帮助读者更好地理解连连看游戏的开发过程和技术要点。 ### 参考文献 - ...
8. **设计模式**:设计模式是解决常见编程问题的最佳实践,如工厂模式、单例模式、观察者模式等,它们在课程设计中常被用到。 9. **JDBC与数据库交互**:Java通过JDBC API可以连接和操作各种数据库,进行数据的增删...
Java实现的k-means聚类算法详解 k-means聚类算法是一种常用的无监督学习算法,用于对数据...Java实现的k-means聚类算法是一种常用的数据分析工具,能够帮助数据分析师和数据科学家发现隐藏在数据背后的规律和模式。
以上就是AES加密算法在Java中的实现基础,实际应用中还需要考虑错误处理、密钥管理、安全性等问题。通过`secret`这个文件名,可能包含了具体实现AES加密的Java代码示例,你可以查阅这个文件以获得更详细的信息。
1. **模式库构建**:首先,需要创建一个数据结构来存储所有的敏感词及其对应的权重。这通常可以通过哈希表或者二叉树等数据结构实现,以便快速查找和计算权重。 2. **权重计算**:对于给定的文本,算法会遍历每个...
在Java中实现RSA算法,可以利用Java的`java.security`包,该包提供了KeyPairGenerator、PublicKey、PrivateKey等类来生成和管理密钥对,以及Cipher类用于加密和解密操作。以下是大致步骤: 1. 初始化...
粒子群优化是一种受到鸟群飞行模式启发的全局优化算法,常用于解决复杂问题的最优化。它与神经网络的结合可以有效改善网络的训练效率和性能。 首先,我们需要理解粒子群优化的基本原理。PSO算法由多个被称为“粒子...
这个算法的主要特点是利用预处理得到的“next”数组,避免了模式串回溯的过程,提高了匹配效率。下面我们将详细探讨KMP算法的原理、Java实现以及“next”数组的计算方法。 ### KMP算法原理 1. **模式匹配问题**:...
【标题】"GA.rar_GA_GA java_java ga_遗传算法 java_閬椾紶绠楁硶 java" 提供的信息表明,这是一个关于遗传算法(Genetic Algorithm,简称GA)的Java实现项目。遗传算法是一种借鉴生物进化原理的优化算法,广泛应用...
MD5算法是RSA数据安全公司提出的一种散列算法,它能将任意长度的消息转换成一个固定长度(通常为128位)的“指纹”或摘要。这种算法在网络安全、密码学以及各种需要数据完整性检查的场景中广泛使用。本文档提供了一...