2017-03-21 46 views
0

我想在Java中PBKDF2WithHmacSHA1 Java來夫特3

這裏散列使用相同的算法(PBKDF2WithHmacSHA1)在迅速3密碼是在Java代碼:

char[] passwordChars = password.toCharArray(); 
byte[] saltBytes = Constantes.SALT.getBytes(); 
PBEKeySpec spec = new PBEKeySpec(passwordChars, saltBytes, Constantes.ITERATIONS,192); 

try { 
    SecretKeyFactory key = SecretKeyFactory.getInstance("PBKDF2WithHmacSHA1"); 
    byte[] hashedPassword = key.generateSecret(spec).getEncoded(); 
    return String.format("%x", new BigInteger(hashedPassword)); 
} catch {[..]} 

結果例如用於關鍵詞「測試「:2d21d1a136b22280a47499789ae4bedfb63ce900e97064

我試圖用CryptoSwift這樣的:

let passwordArray: [UInt8] = Array(test.utf8) 
let saltArray: [UInt8] = Array(salt.utf8) 

let result = try! PKCS5.PBKDF2(password: passwordArray, salt: saltArray, iterations: iter, keyLength: 192, variant: .sha1).calculate() 

結果:b35a9b2a6150373b5cf81a7a616bc80f8cbe9ec25eac9b111798feb9e2fa9b1c0aa4627d0fb6c1820d2a5b432b1dd688a06692f3a8e2b2136d8c03f26d28de49bdfe4ecb76821ee4e74139f2580361405b788eab0d35d339a91dedaa566ec13d96f8c812a5ccb84a8e923fad7c9a4ecf7eaced67a37b66fb062c8043e4125c2fb68cc2f3ebe0374087b72ac8e15146e24d239ee2577fd1ef581f3ae9b7dd5d16681da114a04f182586b63ff1388e63cea96212574817426a1cd1d35dd2c22e1a

我注意到,結果是不一樣的,

你有任何想法,問題可能來自哪裏?

是否有其他庫在快速哈希密碼?

回答