public class io.vertx.ext.auth.jdbc.impl.PBKDF2Strategy extends io.vertx.ext.auth.jdbc.impl.AbstractHashingStrategy implements io.vertx.ext.auth.jdbc.JDBCHashStrategy
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: io.vertx.ext.auth.jdbc.impl.PBKDF2Strategy
super_class: io.vertx.ext.auth.jdbc.impl.AbstractHashingStrategy
{
private static final int DEFAULT_ITERATIONS;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 10000
private final javax.crypto.SecretKeyFactory skf;
descriptor: Ljavax/crypto/SecretKeyFactory;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>(io.vertx.core.Vertx);
descriptor: (Lio/vertx/core/Vertx;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial io.vertx.ext.auth.jdbc.impl.AbstractHashingStrategy.<init>:(Lio/vertx/core/Vertx;)V
1: aload 0
ldc "PBKDF2WithHmacSHA512"
invokestatic javax.crypto.SecretKeyFactory.getInstance:(Ljava/lang/String;)Ljavax/crypto/SecretKeyFactory;
putfield io.vertx.ext.auth.jdbc.impl.PBKDF2Strategy.skf:Ljavax/crypto/SecretKeyFactory;
2: goto 5
StackMap locals: io.vertx.ext.auth.jdbc.impl.PBKDF2Strategy io.vertx.core.Vertx
StackMap stack: java.security.NoSuchAlgorithmException
3: astore 2
start local 2 4: new java.lang.RuntimeException
dup
ldc "PBKDF2 is not available"
aload 2
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 2 5: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lio/vertx/ext/auth/jdbc/impl/PBKDF2Strategy;
0 6 1 vertx Lio/vertx/core/Vertx;
4 5 2 nsae Ljava/security/NoSuchAlgorithmException;
Exception table:
from to target type
1 2 3 Class java.security.NoSuchAlgorithmException
MethodParameters:
Name Flags
vertx
public java.lang.String computeHash(java.lang.String, java.lang.String, int);
descriptor: (Ljava/lang/String;Ljava/lang/String;I)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: sipush 10000
istore 4
start local 4 1: iload 3
iflt 6
2: aload 0
getfield io.vertx.ext.auth.jdbc.impl.PBKDF2Strategy.nonces:Lio/vertx/core/json/JsonArray;
ifnonnull 4
3: new io.vertx.core.VertxException
dup
ldc "nonces are not available"
invokespecial io.vertx.core.VertxException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals: int
StackMap stack:
iload 3
aload 0
getfield io.vertx.ext.auth.jdbc.impl.PBKDF2Strategy.nonces:Lio/vertx/core/json/JsonArray;
invokevirtual io.vertx.core.json.JsonArray.size:()I
if_icmpge 6
5: aload 0
getfield io.vertx.ext.auth.jdbc.impl.PBKDF2Strategy.nonces:Lio/vertx/core/json/JsonArray;
iload 3
invokevirtual io.vertx.core.json.JsonArray.getInteger:(I)Ljava/lang/Integer;
invokevirtual java.lang.Integer.intValue:()I
istore 4
6: StackMap locals:
StackMap stack:
new javax.crypto.spec.PBEKeySpec
dup
7: aload 1
invokevirtual java.lang.String.toCharArray:()[C
8: aload 2
getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
9: iload 4
10: sipush 512
11: invokespecial javax.crypto.spec.PBEKeySpec.<init>:([C[BII)V
astore 5
start local 5 12: aload 0
getfield io.vertx.ext.auth.jdbc.impl.PBKDF2Strategy.skf:Ljavax/crypto/SecretKeyFactory;
aload 5
invokevirtual javax.crypto.SecretKeyFactory.generateSecret:(Ljava/security/spec/KeySpec;)Ljavax/crypto/SecretKey;
invokeinterface javax.crypto.SecretKey.getEncoded:()[B
astore 6
start local 6 13: iload 3
iflt 16
14: new java.lang.StringBuilder
dup
aload 0
aload 6
invokevirtual io.vertx.ext.auth.jdbc.impl.PBKDF2Strategy.bytesToHex:([B)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
bipush 36
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
iload 3
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
15: areturn
16: StackMap locals: javax.crypto.spec.PBEKeySpec byte[]
StackMap stack:
aload 0
aload 6
invokevirtual io.vertx.ext.auth.jdbc.impl.PBKDF2Strategy.bytesToHex:([B)Ljava/lang/String;
17: areturn
end local 6 18: StackMap locals: io.vertx.ext.auth.jdbc.impl.PBKDF2Strategy java.lang.String java.lang.String int int javax.crypto.spec.PBEKeySpec
StackMap stack: java.security.spec.InvalidKeySpecException
astore 6
start local 6 19: new io.vertx.core.VertxException
dup
aload 6
invokespecial io.vertx.core.VertxException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lio/vertx/ext/auth/jdbc/impl/PBKDF2Strategy;
0 20 1 password Ljava/lang/String;
0 20 2 salt Ljava/lang/String;
0 20 3 version I
1 20 4 iterations I
12 20 5 spec Ljavax/crypto/spec/PBEKeySpec;
13 18 6 hash [B
19 20 6 ikse Ljava/security/spec/InvalidKeySpecException;
Exception table:
from to target type
12 15 18 Class java.security.spec.InvalidKeySpecException
16 17 18 Class java.security.spec.InvalidKeySpecException
MethodParameters:
Name Flags
password
salt
version
}
SourceFile: "PBKDF2Strategy.java"
RuntimeVisibleAnnotations:
java.lang.Deprecated()