Edit C:\Program Files\Java\jdk1.7.0_45\db\lib\org\apache\derby\impl\services\jce\JCECipherFactory.class
Êþº¾ 0/ ² ± ± ± ? ± ± ± ° °! ¾ ±" ±# ±$ ±% ±&'( ±)'* +,- !. /0 +1'234 '5 » 678 +9: -;<= °> ±? @A @B ÿ C ±D 6E ±FG :HI < ±JKL <MN ±O ?P ?QRS <T ?UV ?WX YZ[\ °]^ '_ ¼ ½`abcd ?efg hi ±j klm @nopqrs ±tu h hvw hx hyz{| ?}~ s?????? ±?? ±? ±? <?????? <? ±? ±? ±? !? !? ??? ??? :? ±? Y?? h? ±? ±? ¡ ¢£¤¥¦ ±§ 6¨ ±©ª« ±¬ ® ®® ®¯ ±°± £² £³ £´ @µ¶ ®· ¯·¸¹º»¼½¾¿ÀÁ EncryptedKeyResult InnerClasses MESSAGE_DIGEST Ljava/lang/String; ConstantValue DEFAULT_ALGORITHM DES DESede TripleDES AES BLOCK_LENGTH I AES_IV_LENGTH keyLengthBits encodedKeyLength cryptoAlgorithm cryptoAlgorithmShort cryptoProvider cryptoProviderShort messageDigest Ljava/security/MessageDigest; mainSecretKey Ljavax/crypto/SecretKey; mainIV [B persistentProperties Ljava/util/Properties; VERIFYKEY_DATALEN activeFile !Lorg/apache/derby/io/StorageFile; action activePerms <init> (ZLjava/util/Properties;Z)V Code Exceptions providerErrorName &(Ljava/lang/String;)Ljava/lang/String; generateUniqueBytes ()[B encryptKey N([B[B)Lorg/apache/derby/impl/services/jce/JCECipherFactory$EncryptedKeyResult; padKey ([BI)[B decryptKey (Ljava/lang/String;I[B)[B getMuckFromBootPassword generateKey ([B)Ljavax/crypto/SecretKey; generateIV ([B)[B digest ([B)I getSecureRandom ()Ljava/security/SecureRandom; createNewCipher 9(I)Lorg/apache/derby/iapi/services/crypto/CipherProvider; S(ILjavax/crypto/SecretKey;[B)Lorg/apache/derby/iapi/services/crypto/CipherProvider; init handleBootPassword (ZLjava/util/Properties;Z)[B saveProperties (Ljava/util/Properties;)V getDatabaseSecretKey .(Ljava/util/Properties;[BLjava/lang/String;)[B saveSecretKey ([B[B)Ljava/lang/String; changeBootPassword r(Ljava/lang/String;Ljava/util/Properties;Lorg/apache/derby/iapi/services/crypto/CipherProvider;)Ljava/lang/String; vetCipherProviders ?(Lorg/apache/derby/iapi/services/crypto/CipherProvider;Lorg/apache/derby/iapi/services/crypto/CipherProvider;Ljava/lang/String;)V run ()Ljava/lang/Object;ÃÄ verifyKey >(ZLorg/apache/derby/io/StorageFactory;Ljava/util/Properties;)V getMD5Checksum privAccessFile w(Lorg/apache/derby/io/StorageFactory;Ljava/lang/String;Ljava/lang/String;)Lorg/apache/derby/io/StorageRandomAccessFile; privAccessGetInputStream M(Lorg/apache/derby/io/StorageFactory;Ljava/lang/String;)Ljava/io/InputStream; ØÅ ò Ù default É ¸ Ç ¸ÆÇÈ BouncyCastleProviderÉÊ BCÇË Ä À òÌ çÍÎÏ ß &java/security/NoSuchAlgorithmException XBCXC.S Æ ¸ Ü ÝÐÑ %java/security/NoSuchProviderException XBCXG.SÐÒ æ ã ç è é ê ï ñ Å ÀÓÔÕ â ãÖ×ØÙÚ Forg/apache/derby/impl/services/jce/JCECipherFactory$EncryptedKeyResult ØÛÜÝÞßàá× XBCX2.S java/lang/Integer ØÌâãä louDScapåæ javax/crypto/spec/SecretKeySpec Øç !java/security/InvalidKeyException XBCX0.SÐè Ê ËéêÅ ë ê java/security/SecureRandom Î Ï Øë Ì Í 4org/apache/derby/impl/services/jce/JCECipherProvider Øì java/util/Properties Ð Ñ newEncryptionKey encryptionKeyí Ý encryptionProvider È ¸îïðñ encryptionAlgorithm DES/CBC/NoPaddingòóôï XBCXH.Sðõ javax.crypto.ExemptionMechanismö÷ø java/lang/Throwable XBCXJ.SÐù encryptionKeyLengthúû CBC CFB ECB OFB XBCXI.SüÕ NoPadding XBCXB.Sýþÿ Ö À MD5Ç newBootPassword bootPassword XBM06.D XBCXN.S XBCXM.S ó ô java/lang/StringBuffer - dataEncryption true data_encrypt_algorithm_version ñ log_encrypt_algorithm_version 'java/security/PrivilegedActionException java/lang/SecurityException java/lang/LinkageError java/lang/ClassCastException XBM0G.D XBM07.D Þ ß encryptedBootPassword ù ú ÷ ø java/lang/String ä å ë ì à á ¸ Ï Ý XBCX7.S XBCXA.S ý þ java/security/Provider Ô Õ × ¸ ! java/lang/ClassNotFoundException XBCXF.S java/io/FileNotFoundException XBCXL.S í î"ë ê verifyKey.dat rw#Ì$ë%Å java/io/DataInputStream Ø&'Õ(ë)* XBCXK.S+Å java/io/IOException ,-. +org/apache/derby/io/StorageRandomAccessFile java/io/InputStream -org/apache/derby/iapi/error/StandardException 3org/apache/derby/impl/services/jce/JCECipherFactory java/lang/Object 3org/apache/derby/iapi/services/crypto/CipherFactory 'java/security/PrivilegedExceptionAction java/lang/InstantiationException java/lang/IllegalAccessException ()V javax/crypto/KeyGenerator getInstance /(Ljava/lang/String;)Ljavax/crypto/KeyGenerator; equals (Ljava/lang/Object;)Z A(Ljava/lang/String;Ljava/lang/String;)Ljavax/crypto/KeyGenerator; (I)V ()Ljavax/crypto/SecretKey; javax/crypto/SecretKey getEncoded newException g(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)Lorg/apache/derby/iapi/error/StandardException; U(Ljava/lang/String;Ljava/lang/Object;)Lorg/apache/derby/iapi/error/StandardException; 4org/apache/derby/iapi/services/crypto/CipherProvider getEncryptionBlockSize ()I encrypt ([BII[BI)I %org/apache/derby/iapi/util/StringUtil toHexString ([BII)Ljava/lang/String; (Ljava/lang/String;[B)V java/lang/System arraycopy *(Ljava/lang/Object;ILjava/lang/Object;II)V fromHexString (Ljava/lang/String;II)[B decrypt javax/crypto/spec/DESKeySpec isWeak ([BI)Z getAsciiBytes (Ljava/lang/String;)[B ([BLjava/lang/String;)V X(Ljava/lang/String;Ljava/lang/Throwable;)Lorg/apache/derby/iapi/error/StandardException; java/security/MessageDigest reset ([B)V B(ILjavax/crypto/SecretKey;[BLjava/lang/String;Ljava/lang/String;)V getProperty lastIndexOf (I)I substring (I)Ljava/lang/String; put 8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; indexOf (II)Ljava/lang/String; java/lang/Class forName %(Ljava/lang/String;)Ljava/lang/Class; C(Ljava/lang/String;)Lorg/apache/derby/iapi/error/StandardException; parseInt (Ljava/lang/String;)I length java/security/Security getProvider ,(Ljava/lang/String;)Ljava/security/Provider; java/security/AccessController doPrivileged =(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object; 1(Ljava/lang/String;)Ljava/security/MessageDigest; append (I)Ljava/lang/StringBuffer; ,(Ljava/lang/String;)Ljava/lang/StringBuffer; toString ()Ljava/lang/String; valueOf getException ()Ljava/lang/Exception; keys ()Ljava/util/Enumeration; java/util/Enumeration hasMoreElements ()Z nextElement get &(Ljava/lang/Object;)Ljava/lang/Object; hexOutput paddedInputKey concat trim verifyIV ([B)Z newInstance addProvider (Ljava/security/Provider;)I org/apache/derby/io/StorageFile getRandomAccessFile A(Ljava/lang/String;)Lorg/apache/derby/io/StorageRandomAccessFile; getInputStream ()Ljava/io/InputStream; nextBytes writeInt write sync (Ljava/io/InputStream;)V readInt readFully isEqual ([B[B)Z close "org/apache/derby/io/StorageFactory newStorageFile G(Ljava/lang/String;Ljava/lang/String;)Lorg/apache/derby/io/StorageFile; 1 ± ² ³ ´ · ¸ ¹ ` º ¸ ¹ G » ¸ ¹ ) ¼ ¸ ¹ S ½ ¸ ¹ T ¾ ¸ ¹ ¿ À ¹ Á  À ¹ Ã Ä À Å À Æ ¸ Ç ¸ È ¸ É ¸ Ê Ë Ì Í Î Ï Ð Ñ Ò À ¹ Ó Ô Õ Ö À × ¸ Ø Ù Ú *· *,¶ ± Û ° Ü Ý Ú *Ç § *° Þ ß Ú y ]*´ L+Ç *´ ¸ M§ +¶ ? L*´ +¸ M,*´ ¶ ,¶ N-¹ °L*´ *´ ¸ ¸ ¿L*´ ¸ ¸ ¿ <