X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=basic%2Fruntime%2Forg.argeo.basic.nodeps%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Futil%2Fcrypto%2FPasswordBasedEncryption.java;fp=basic%2Fruntime%2Forg.argeo.basic.nodeps%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Futil%2Fcrypto%2FPasswordBasedEncryption.java;h=ab36e5d8f00e02937a6cd0d396037bf846798f88;hb=4310414c41cc0b9e52866f81ec6c60bbf6686d16;hp=b1c18eb82a9fca0515048e8b9c96fdc22b47470c;hpb=d7c1552f4c28dc4acc25fb6214fb70d4fe67389d;p=lgpl%2Fargeo-commons.git diff --git a/basic/runtime/org.argeo.basic.nodeps/src/main/java/org/argeo/util/crypto/PasswordBasedEncryption.java b/basic/runtime/org.argeo.basic.nodeps/src/main/java/org/argeo/util/crypto/PasswordBasedEncryption.java index b1c18eb82..ab36e5d8f 100644 --- a/basic/runtime/org.argeo.basic.nodeps/src/main/java/org/argeo/util/crypto/PasswordBasedEncryption.java +++ b/basic/runtime/org.argeo.basic.nodeps/src/main/java/org/argeo/util/crypto/PasswordBasedEncryption.java @@ -41,15 +41,20 @@ public class PasswordBasedEncryption { private final Cipher dcipher; public PasswordBasedEncryption(char[] password) { + this(password, DEFAULT_SALT_8, DEFAULT_IV_16); + } + + public PasswordBasedEncryption(char[] password, byte[] passwordSalt, + byte[] initializationVector) { try { byte[] salt = new byte[8]; - System.arraycopy(DEFAULT_SALT_8, 0, salt, 0, salt.length); - for (int i = 0; i < password.length && i < salt.length; i++) - salt[i] = (byte) password[i]; + System.arraycopy(passwordSalt, 0, salt, 0, salt.length); + // for (int i = 0; i < password.length && i < salt.length; i++) + // salt[i] = (byte) password[i]; byte[] iv = new byte[16]; - System.arraycopy(DEFAULT_IV_16, 0, iv, 0, iv.length); - for (int i = 0; i < password.length && i < iv.length; i++) - iv[i] = (byte) password[i]; + System.arraycopy(initializationVector, 0, iv, 0, iv.length); + // for (int i = 0; i < password.length && i < iv.length; i++) + // iv[i] = (byte) password[i]; SecretKeyFactory keyFac = SecretKeyFactory .getInstance(getSecretKeyFactoryName());