diff --git a/mainApk.pas b/mainApk.pas index ddb1aba..268f092 100644 --- a/mainApk.pas +++ b/mainApk.pas @@ -610,8 +610,15 @@ begin end; try - LPlain := DecryptContainer(LGet.Container, FSyncPwd); + // UNE SEULE DERIVATION PAR ENREGISTREMENT : la variante Ex rend la + // cle, son sel et les iterations, que le rechiffrement reutilise. + // Deriver deux fois le meme mot de passe coutait une seconde fois + // quatre a six secondes, pour une cle equivalente. + LSw := TStopwatch.StartNew; + LPlain := DecryptContainerEx(LGet.Container, FSyncPwd, + LKey, LSalt, LIter); LNew := PatchEntryField(LPlain, LUuid, 'password', ANewValue); + Log(Format('save: decrypt+patch in %d ms', [LSw.ElapsedMilliseconds])); except on E: Exception do begin