Edit C:\Program Files\Java\jre1.8.0_121\lib\ext\com\sun\crypto\provider\GaloisCounterMode.class
?? 4 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ???? ? W ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? A ? ? ? ? A ? ? ? A ? ? ? ? ? 5 ? ? ? ? ? ? ? ? c ? ? ? ? ? ? A ? ? ? C ? A ? ? ? ? ? A ? ? ? L ? ? ? ? ? ? R ? ? ? ? DEFAULT_TAG_LEN I DEFAULT_IV_LEN MAX_BUF_SIZE ConstantValue aadBuffer Ljava/io/ByteArrayOutputStream; sizeOfAAD ibuffer tagLenBytes subkeyH [B preCounterBlock gctrPAndC Lcom/sun/crypto/provider/GCTR; ghashAllToS Lcom/sun/crypto/provider/GHASH; processed aadBufferSave sizeOfAADSave ibufferSave processedSave increment32 ([B)V Code LineNumberTable StackMapTable getLengthBlock (I)[B (II)[B expandToOneBlock ([BII)[B getJ0 ([B[B)[B ? checkDataLength (II)V <init> ,(Lcom/sun/crypto/provider/SymmetricCipher;)V getFeedback ()Ljava/lang/String; reset ()V save ? restore init (ZLjava/lang/String;[B[B)V Exceptions (ZLjava/lang/String;[B[BI)V updateAAD ([BII)V processAAD doLastBlock ([BII[BIZ)V ? encrypt ([BII[BI)I encryptFinal decrypt decryptFinal ? getTagLen ()I getBufferedLength <clinit> SourceFile GaloisCounterMode.java java/lang/Integer $com/sun/crypto/provider/AESConstants java/security/ProviderException Illegal counter block length } ? java/lang/StringBuilder } ? input ? ? ? ? too long ? ? ? ? ? v w com/sun/crypto/provider/GHASH } o ? ? ? o s t ? ? )com/sun/crypto/provider/GaloisCounterMode ?SunJCE provider only supports input size up to 2147483647 bytes } ~ java/io/ByteArrayOutputStream ] ^ _ Y ` ^ X Y a Y b c d c e f g h i Y j c k Y l c m Y GCM ? ? ? ? ? ? ? ? ? ? ? ? ? ? !java/security/InvalidKeyException Internal error ? ? ? ? ? ? ? c c x y c n o com/sun/crypto/provider/GCTR } java/lang/IllegalStateException (Update has been called; no more AAD data ? { | Y !Internal error in input buffering ? ? ? ? !javax/crypto/ShortBufferException +Can't fit both data and tag into one buffer Output buffer too small ? ? s u javax/crypto/AEADBadTagException Input too short - need tag Tag mismatch! Z Y &com/sun/crypto/provider/FeedbackCipher &javax/crypto/IllegalBlockSizeException (Ljava/lang/String;)V append -(Ljava/lang/String;)Ljava/lang/StringBuilder; (I)Ljava/lang/StringBuilder; toString java/lang/System arraycopy *(Ljava/lang/Object;ILjava/lang/Object;II)V update digest ()[B size toByteArray write embeddedCipher )Lcom/sun/crypto/provider/SymmetricCipher; 'com/sun/crypto/provider/SymmetricCipher (ZLjava/lang/String;[B)V encryptBlock ([BI[BI)V clone ()Ljava/lang/Object; iv .(Lcom/sun/crypto/provider/SymmetricCipher;[B)V doFinal blockSize 0 W X Y Z Y [ Y \ ] ^ _ Y ` ^ a Y b c d c e f g h i Y j c k Y l c m Y n o p k 1*?? ? Y? ?*?d<*?d? *\3`?T? ???? q [ ] ` a * b 0 d r ? s t p ? Y?y@?N-8}?T- 0}?T- (}?T- }?T-}?T- }?T-}?T-?T-? q . g h i j k ( l 2 m <