From 29b14402f1896ccfb68b8cb2aa0ae9fe16149377 Mon Sep 17 00:00:00 2001 From: tedu <> Date: Wed, 28 Jan 2015 23:33:52 +0000 Subject: [PATCH] dial the time back to about 0.1s, closer to the original targets and friendlier for users. requested by deraadt --- src/lib/libc/crypt/bcrypt.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/lib/libc/crypt/bcrypt.c b/src/lib/libc/crypt/bcrypt.c index 8bf09950..bc9441cc 100644 --- a/src/lib/libc/crypt/bcrypt.c +++ b/src/lib/libc/crypt/bcrypt.c @@ -1,4 +1,4 @@ -/* $OpenBSD: bcrypt.c,v 1.51 2015/01/12 03:20:04 tedu Exp $ */ +/* $OpenBSD: bcrypt.c,v 1.52 2015/01/28 23:33:52 tedu Exp $ */ /* * Copyright (c) 2014 Ted Unangst @@ -235,7 +235,7 @@ bcrypt_checkpass(const char *pass, const char *goodhash) /* * Measure this system's performance by measuring the time for 8 rounds. - * We are aiming for something that takes between 0.25 and 0.5 seconds. + * We are aiming for something that takes around 0.1s, but not too much over. */ int bcrypt_autorounds(void) @@ -254,12 +254,12 @@ bcrypt_autorounds(void) duration += (after.tv_nsec - before.tv_nsec) / 1000; /* too quick? slow it down. */ - while (r < 16 && duration <= 1000000 / 4) { + while (r < 16 && duration <= 60000) { r += 1; duration *= 2; } /* too slow? speed it up. */ - while (r > 4 && duration > 1000000 / 2) { + while (r > 4 && duration > 120000) { r -= 1; duration /= 2; }