Explorar o código

Move HMAC calculation outside iteration loop to improve performance.

Marcin Krzyżanowski %!s(int64=9) %!d(string=hai) anos
pai
achega
21a1319b5d
Modificáronse 1 ficheiros con 1 adicións e 1 borrados
  1. 1 1
      Sources/CryptoSwift/PKCS5/PBKDF2.swift

+ 1 - 1
Sources/CryptoSwift/PKCS5/PBKDF2.swift

@@ -94,8 +94,8 @@ fileprivate extension PKCS5.PBKDF2 {
             if self.iterations > 1 {
                 // U_2 = PRF (P, U_1) ,
                 // U_c = PRF (P, U_{c-1}) .
+                u = try prf.authenticate(u)
                 for _ in 2...self.iterations {
-                    u = try prf.authenticate(u)
                     for x in 0..<ret.count {
                         ret[x] = ret[x] ^ u[x]
                     }