Edit C:\Program Files\Java\jre1.8.0_121\lib\ext\com\sun\crypto\provider\CipherCore.class
?? 4+ ? !" # $ % & '( )* +,- . /0 123 14 5678 )9: );< #)=>? ')@ 1A 1B CD -EFG 0EHI 3)J 5K 5LM 5N 1O PQ PRSTUVWX B.Y 1Z[\ H+]^_ ` 5a 'bcd 5e fg ? e 'h ij klm Xnopq [r \ns _t iu vw vxyz{ d.| ?} 5~? ??? n? o.? ? X?? n. Xe? _e? 5?? \e???? '? ?? ??? '? 5? v?????????????? ?. ? ????? ??? ?. ?? 5? 5? ?? ?? ???? ?.c? 5? ?c??? ?. 5???? 5???? 5? 5?? ??? ?? 5?? buffer [B blockSize I unitBytes buffered minBytes diffBlocksize padding !Lcom/sun/crypto/provider/Padding; cipher (Lcom/sun/crypto/provider/FeedbackCipher; cipherMode decrypting Z ECB_MODE ConstantValue CBC_MODE CFB_MODE OFB_MODE PCBC_MODE CTR_MODE CTS_MODE GCM_MODE requireReinit lastEncKey lastEncIv <init> -(Lcom/sun/crypto/provider/SymmetricCipher;I)V Code LineNumberTable setMode (Ljava/lang/String;)V StackMapTable?? Exceptions getMode ()I getNumOfUnit (Ljava/lang/String;II)IS setPadding getOutputSize (I)I getOutputSizeByOperation (IZ)I getIV ()[B getParameters 7(Ljava/lang/String;)Ljava/security/AlgorithmParameters;?"?,| init 3(ILjava/security/Key;Ljava/security/SecureRandom;)V? ^(ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;Ljava/security/SecureRandom;)V?? V(ILjava/security/Key;Ljava/security/AlgorithmParameters;Ljava/security/SecureRandom;)V getKeyBytes (Ljava/security/Key;)[B update ([BII)[B? ([BII[BI)I doFinal? finalNoPadding ([BI[BII)I? wrap? unwrap *([BLjava/lang/String;I)Ljava/security/Key;? updateAAD ([BII)V SourceFile CipherCore.java ?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? "com/sun/crypto/provider/CipherCore ? ? ? ? ? ? ? ? ? ? *com/sun/crypto/provider/ElectronicCodeBook ?? $com/sun/crypto/provider/PKCS5Padding ?? &java/security/NoSuchAlgorithmException null mode ? ??????? ECB????? CBC +com/sun/crypto/provider/CipherBlockChaining CTS *com/sun/crypto/provider/CipherTextStealing CTR #com/sun/crypto/provider/CounterMode GCM (GCM mode can only be used for AES cipher )com/sun/crypto/provider/GaloisCounterMode CFB??? ? ? ? &com/sun/crypto/provider/CipherFeedback ? ? OFB &com/sun/crypto/provider/OutputFeedback PCBC com/sun/crypto/provider/PCBC java/lang/StringBuilder Cipher mode: ?? not found???????? ? java/lang/NumberFormatException Algorithm mode: not implemented Invalid algorithm mode: #javax/crypto/NoSuchPaddingException null padding NoPadding?? ISO10126Padding 'com/sun/crypto/provider/ISO10126Padding PKCS5Padding Padding: ! mode must be used with NoPadding ? ?? ?? ??? ? ? ? ???? ??????? "javax/crypto/spec/GCMParameterSpec ?? RC2 com/sun/crypto/provider/RC2Crypt "javax/crypto/spec/RC2ParameterSpec? ? !javax/crypto/spec/IvParameterSpec ??? ?? ? java/lang/RuntimeException Cannot find 6 AlgorithmParameters implementation in SunJCE provider 0java/security/spec/InvalidParameterSpecException? not supported )java/security/spec/AlgorithmParameterSpec ? 0java/security/InvalidAlgorithmParameterException !java/security/InvalidKeyException? javax/crypto/Cipher ? ?Unsupported TLen value; must be one of {128, 120, 112, 104, 96} Unsupported parameter: Wrong IV length: must be ? bytes long ECB mode cannot use IV Parameters missing? ? ?? "Cannot reuse iv for GCM encryption ? ? IV Wrong parameter type: expected No key given RAW? Wrong format: RAW bytes needed ? RAW key bytes missing java/lang/IllegalStateException 6Must use either different key or iv for GCM encryption !javax/crypto/ShortBufferException java/security/ProviderException Unexpected exception ? !Output buffer must be (at least) &javax/crypto/IllegalBlockSizeException !Input length must be multiple of # when decrypting with padded cipher!"? #$ javax/crypto/BadPaddingException %Given final block not properly padded%? Output buffer too short: bytes given, bytes needed&? ,Input length (with padding) not multiple of bytes Input length not multiple of ' ( /Cannot get an encoding of the key to be wrapped 'The wrapped key is not padded correctly 0The wrapped key does not have the correct length)* java/lang/Object java/lang/String 'com/sun/crypto/provider/SymmetricCipher !java/security/AlgorithmParameters java/security/Key java/security/SecureRandom java/lang/Throwable javax/crypto/AEADBadTagException ()V ,(Lcom/sun/crypto/provider/SymmetricCipher;)V (I)V java/util/Locale ENGLISH Ljava/util/Locale; toUpperCase &(Ljava/util/Locale;)Ljava/lang/String; equals (Ljava/lang/Object;)Z &com/sun/crypto/provider/FeedbackCipher getEmbeddedCipher +()Lcom/sun/crypto/provider/SymmetricCipher; startsWith (Ljava/lang/String;)Z length append -(Ljava/lang/String;)Ljava/lang/StringBuilder; toString ()Ljava/lang/String; substring (I)Ljava/lang/String; java/lang/Integer valueOf '(Ljava/lang/String;)Ljava/lang/Integer; intValue equalsIgnoreCase getBufferedLength getTagLen com/sun/crypto/provider/Padding padLength clone ()Ljava/lang/Object; DEFAULT_IV_LEN com/sun/crypto/provider/SunJCE getRandom ()Ljava/security/SecureRandom; nextBytes ([B)V (I[B)V getEffectiveKeyBits getInstance "()Lcom/sun/crypto/provider/SunJCE; O(Ljava/lang/String;Ljava/security/Provider;)Ljava/security/AlgorithmParameters; .(Ljava/security/spec/AlgorithmParameterSpec;)V getClass ()Ljava/lang/Class; -(Ljava/lang/Object;)Ljava/lang/StringBuilder; getMessage getTLen (I)Ljava/lang/StringBuilder; getAlgorithm DEFAULT_TAG_LEN java/util/Arrays ([B[B)Z java/security/MessageDigest isEqual (ZLjava/lang/String;[B[BI)V (ZLjava/lang/String;[B[B)V getParameterSpec >(Ljava/lang/Class;)Ljava/security/spec/AlgorithmParameterSpec; getFormat getEncoded copyOf ([BI)[B *(Ljava/lang/String;Ljava/lang/Throwable;)V copyOfRange decrypt encrypt java/lang/System arraycopy *(Ljava/lang/Object;ILjava/lang/Object;II)V java/lang/Math min (II)I padWithLen save unpad ([BII)I restore reset decryptFinal encryptFinal %com/sun/crypto/provider/ConstructKeys constructKey 0 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? |*? *? *? *? *? *? *? *? *? *? *? *? *? *? *? *? *? **? h?? *? Y+? ? *? Y*? ? ? ? ? V ? <