
de.tsl2.nano.core.secure.Crypt.class Maven / Gradle / Ivy
???? 4?x
yz{|
}~
?
???
?? ? ? ? ?
? ? ???
???
?
?
?
??
?
??
???
?
??
?
???
?
???
???
???
?
??
????
2???
2?
?
????
? ? ?
:??? A?
A??
D?
??
G??
I?
??
???
M?
??
??
??
?
??
???
?
??
M?
M????
??
??
?
?
?
??
???
e?
e?
e?
???
???
?
l?
??
q?
?
?
?
?
?
m?
?
??
??
m?
m?????
?
?
?
?
??
??
??
?
.!
"
?#
$
?%
&'(
)
&*+
,-./01234567
89: InnerClasses LOG Lorg/apache/commons/logging/Log; key Ljava/security/Key; encoding Ljava/lang/String; algorithm useBASE64 Z paramSpec +Ljava/security/spec/AlgorithmParameterSpec; ENCODE_UTF8
ConstantValue ALGO_DES ALGO_AES ALGO_AES_NOPADDING; ALGO_PBEWithSHAAndAES< ALGO_PBEWithMD5AndDES= ALGO_PBEWithHmacSHA1AndDESede> HASH_SHA_256 salt8 [B salt16 ()V Code LineNumberTable LocalVariableTable this Lde/tsl2/nano/core/secure/Crypt; ([B)V pwd
StackMapTable ??? ([BLjava/lang/String;)V (Ljava/security/Key;)V ;(Ljava/security/Key;Ljava/lang/String;Ljava/lang/String;Z)V preInit (Ljava/lang/String;)V generateKey )([BLjava/lang/String;)Ljava/security/Key; toCharArray ([B)[C e &Ljava/io/UnsupportedEncodingException;? getTransformationPath J(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; mode padding getAlgorithmFromPath &(Ljava/lang/String;)Ljava/lang/String; path providers ()Ljava/lang/String; i I ps Ljava/lang/StringBuilder; [Ljava/security/Provider;? ? provide Ljava/lang/Exception;? downloadProvider
algorithm2 cl Ljava/lang/ClassLoader;@ createParamSpec ?(Ljava/lang/String;)Ljava/security/spec/AlgorithmParameterSpec; R(Ljava/lang/String;Ljava/security/Key;)Ljava/security/spec/AlgorithmParameterSpec;A createPBEParamSpec -()Ljava/security/spec/AlgorithmParameterSpec; generateSecretKey generatePBEKey )([CLjava/lang/String;)Ljava/security/Key;
pbeKeySpec Ljavax/crypto/spec/PBEKeySpec; keyFac Ljavax/crypto/SecretKeyFactory; [C generateRandomKey '(Ljava/lang/String;)Ljava/security/Key; generator Ljavax/crypto/KeyGenerator; generateKeyPair +(Ljava/lang/String;)Ljava/security/KeyPair; kpg Ljava/security/KeyPairGenerator;B generatePassword (I)Ljava/lang/String; length passwordBuffer (Ljava/lang/String;[B)V (Ljava/security/NoSuchAlgorithmException;? isPBE (Ljava/lang/String;)Z ()Ljava/security/Key; hashHex txt 8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; ;(Ljava/io/InputStream;Ljava/lang/String;)Ljava/lang/String; stream Ljava/io/InputStream; hash +(Ljava/io/InputStream;Ljava/lang/String;)[B digest Ljava/security/MessageDigest; digestStream !Ljava/security/DigestInputStream;C? encrypt ,(Ljava/io/InputStream;)Ljava/io/InputStream; >(Ljava/io/InputStream;Ljava/lang/String;)Ljava/io/InputStream; contentExpression decrypt data ;([BLjava/security/Key;Ljava/lang/String;)Ljava/lang/String; {([BLjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;Ljava/lang/String;Ljava/lang/String;ZII)Ljava/lang/String; raw offset encodeBase64 ([B)Ljava/lang/String; hex cipher h(Ljava/lang/String;ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;)Ljavax/crypto/Cipher; ex spec Ljavax/crypto/Cipher;?
Exceptions encryptedz v(Ljava/lang/String;Ljava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;Ljava/lang/String;)Ljava/lang/String; ?(Ljava/lang/String;Ljava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;Ljava/lang/String;Ljava/lang/String;ZII)Ljava/lang/String; bytes base64Length (I)I n base64ToByteLength decodeBase64 (Ljava/lang/String;)[B log getData 7(Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object; arg type Ljava/lang/Class; LocalVariableTypeTable Ljava/lang/Class; Signature C(Ljava/lang/String;Ljava/lang/Class;)TT; getFileName
canDecrypt ()Z validate certificate sign
hashAlgorithm verify '(Ljava/lang/String;Ljava/lang/String;)V signature 9(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V toString main ([Ljava/lang/String;)V base64 ii include c args [Ljava/lang/String;s
SourceFile
Crypt.java AES de/tsl2/nano/core/secure/Crypt AES/CBC/PKCS5Padding UTF-8 ? ? DES/ECB/PKCS5Padding
? ? ? ? ??D ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?EFb ? ?GH ? ?%& ? ? java/lang/String ? ? ?I $java/io/UnsupportedEncodingExceptionJKL java/lang/StringBuilderMN /k ?OP ? available security providers:
? ?QRS TU ?
VWX java/lang/Exception ?YZ[\] 0de/tsl2/nano/core/classloader/NetworkClassLoader .de/tsl2/nano/core/execution/CompatibilityLayer $de.tsl2.nano.jarresolver.JarResolver org.bouncycastle^_`a ECB !javax/crypto/spec/IvParameterSpec DESb& ? ? ? ? ? ? RSA )java/security/spec/RSAKeyGenParameterSpeccd ?e "javax/crypto/spec/PBEParameterSpec ?f ? ? javax/crypto/spec/SecretKeySpec javax/crypto/spec/PBEKeySpec ?ghijWk java/security/SecureRandomlm ?nBWopqr SHA1PRNG"sBWtu ? &java/security/NoSuchAlgorithmException PBE SHA-512(* UTF8vw(+./CBCWxy ? java/security/DigestInputStream ?z{|}~0 .*79 de/tsl2/nano/core/secure/Crypt$1 javax/crypto/CipherDE ??;9 de/tsl2/nano/core/secure/Crypt$2?U ?' |7>???AB?????BW?l? java/lang/Integer;NTU????U????? ? -file:` ? java/io/InputStream?????w?? "java/lang/IllegalArgumentExceptionM?
not allowed! 'java/lang/UnsupportedOperationException SHA-256e*7 ?gj; ??? java/lang/IllegalStateException 3the given signature does not fit to the datas hash!?? java/lang/Object????k? :WX??V ? -base64???
.encrypted????
.decrypted??
encrypted:
decrypted: ]usage: Crypt * example 1: Crypt mYpASsWord AES meintext ' example 2: Crypt hash 32 MD5 meintext 8 example 3: Crypt mYpASsWord AES -file:meintextfile.txt O example 4: Crypt mYpASsWord AES -file:meintextfile.txt -base64 -include:[^;]+ algorithms are: ? AES,AESWrap,ARCFOUR,Blowfish,CCM,DES,DESede,DESedeWrap,ECIES,GCM,PBEWithAnd,RC2,RC4,RC5,RSA
Hash: MD2, MD5, SHA, SHA-1, SHA-256, SHA-384, SHA-512 providers are:
x for further informations see: http://docs.oracle.com/javase/7/docs/technotes/guides/security/StandardNames.html#Cipher??? de/tsl2/nano/core/secure/ISecure AES/CBC/NoPadding PBEWithSHAAndAES PBEWithMD5AndDES PBEWithHmacSHA1AndDESede java/security/Key java/lang/ClassLoader )java/security/spec/AlgorithmParameterSpec java/security/KeyPairGenerator java/security/MessageDigest getAlgorithm org/apache/commons/logging/Log isDebugEnabled debug (Ljava/lang/Object;)V ()[C "de/tsl2/nano/core/ManagedException forward ,(Ljava/lang/Throwable;)Ljava/lang/Throwable; append -(Ljava/lang/String;)Ljava/lang/StringBuilder; !de/tsl2/nano/core/util/StringUtil substring java/security/Security getProviders ()[Ljava/security/Provider; java/security/Provider getInfo javax/crypto/SecretKeyFactory getInstance 3(Ljava/lang/String;)Ljavax/crypto/SecretKeyFactory; java/lang/Thread
currentThread ()Ljava/lang/Thread; getContextClassLoader ()Ljava/lang/ClassLoader; runOptionalMain ((Ljava/lang/String;[Ljava/lang/String;)V contains (Ljava/lang/CharSequence;)Z
startsWith F4 Ljava/math/BigInteger; (ILjava/math/BigInteger;)V ([BI)V ([C)V generateSecret 6(Ljava/security/spec/KeySpec;)Ljavax/crypto/SecretKey; javax/crypto/KeyGenerator /(Ljava/lang/String;)Ljavax/crypto/KeyGenerator; init (Ljava/security/SecureRandom;)V ()Ljavax/crypto/SecretKey; 4(Ljava/lang/String;)Ljava/security/KeyPairGenerator;
initialize .(Ljava/security/spec/AlgorithmParameterSpec;)V ()Ljava/security/KeyPair; toHexString 0(Ljava/lang/String;)Ljava/security/SecureRandom; nextBytes
toInputStream )(Ljava/lang/String;)Ljava/io/InputStream; 1(Ljava/lang/String;)Ljava/security/MessageDigest; update 5(Ljava/io/InputStream;Ljava/security/MessageDigest;)V read ()I getMessageDigest ()Ljava/security/MessageDigest; ()[B M(Lde/tsl2/nano/core/secure/Crypt;Ljava/io/InputStream;Ljavax/crypto/Cipher;)V getBytes doFinal ([BII)[B java/util/Base64
getEncoder Encoder ()Ljava/util/Base64$Encoder; java/util/Base64$Encoder encodeToString )(Ljava/lang/String;)Ljavax/crypto/Cipher; B(ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;)V
getDecoder Decoder ()Ljava/util/Base64$Decoder; java/util/Base64$Decoder decode java/lang/System out Ljava/io/PrintStream; java/io/PrintStream println java/lang/Class isAssignableFrom (Ljava/lang/Class;)Z de/tsl2/nano/core/util/FileUtil getFile getFileBytes -(Ljava/lang/String;Ljava/lang/ClassLoader;)[B -(Ljava/lang/Object;)Ljava/lang/StringBuilder; equals (Ljava/lang/Object;)Z getClass ()Ljava/lang/Class; java/lang/Boolean valueOf (Z)Ljava/lang/Boolean; de/tsl2/nano/core/util/Util 8(Ljava/lang/Class;[Ljava/lang/Object;)Ljava/lang/String;
cryptoHash ((Ljava/lang/String;Ljava/lang/String;)[B de/tsl2/nano/core/util/ByteUtil toByteArray (Ljava/io/InputStream;)[B
writeBytes ([BLjava/lang/String;Z)V getInputStream ([B)Ljava/io/InputStream; write *(Ljava/io/InputStream;Ljava/lang/String;)J de/tsl2/nano/core/log/LogFactory getLog 3(Ljava/lang/Class;)Lorg/apache/commons/logging/Log; ! ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? : ? ? ? = *? ? ? ?
} ~ ? ? ? ? ? ? ? (*++? +?? ? ? +?? ? ? ? ?
? ' ? ? ( ? ? ( ? ? ? S ? ? ?? ? ?? ? ? ?? ? ?? ? ? ? ? ? ? S *+,? ?
,? ? ?
? ? ? ? ? ? ? ? ? ? ? ? G *++? ? ? ?
? ? ? ? ? ? ? ? ? ? ? #*? *+?
*,? *-? *? *,+? ? ? ? ? ? ? ? ? ? " ? ? 4 # ? ? # ? ? # ? ? # ? ? # ? ?
? ? ? Z ? ? ? ? ? ? *? ? ? ? ? ? ? ? ? ? ? ? ? ? { (*? *??
+? ? +? ? *? +? ? *+? ? ? ? ? ? $ ? ' ? ? ( ? ? ( ? ? ? D ?
? ? ? j ? Y*? ? ?L+? W?
? ? ? ? ? ? ? ? ? ? ? N ? ? ? ? _ !? Y? !*? "#? "+? "#? ",? "? $? ? ? ? ! ? ? ! ? ? ! ? ? ? ? ? 2 *#? %? ? ? ? ? ? ? ? ? ? C? Y&? 'K? (L=+?? +*? Y? !)? "+2? *? "+? "? $? "W????*? $? ? ?
? ? ? 8 ? > ? ? . ? ?
9 ? ? 5 ? ? ? ? ? ?? -
? ? ? g *? ,W? L*? .? - ? ? ? ? ?
? ? ? ? ? ? H
? ? r $? /? 0L+? 1? ? 2Y? 34? Y5S? 6? ? ? ? ? # ? ? $ ? ? ? #
? 0 *? ? ? ? ? ? ?
? ? ^*? ? ? 7? S*#? 8? (*9? 8? ? :Y*;?