From 62cad6fda0a377350661251e0f0aec6e7fd5e9ca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Patrik=20Thunstr=C3=B6m?= Date: Sun, 17 Apr 2016 23:56:06 +0200 Subject: [PATCH 1/2] Fix entropy count by merging characters sets before calculating --- MacPass/NSString+MPPasswordCreation.m | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/MacPass/NSString+MPPasswordCreation.m b/MacPass/NSString+MPPasswordCreation.m index 1f169208..7b9717eb 100644 --- a/MacPass/NSString+MPPasswordCreation.m +++ b/MacPass/NSString+MPPasswordCreation.m @@ -105,11 +105,16 @@ static NSString *mergeWithoutDuplicates(NSString* baseCharacters, NSString* cust } - (CGFloat)entropyWhithPossibleCharacterSet:(MPPasswordCharacterFlags)allowedCharacters orCustomCharacters:(NSString *)customCharacters { - CGFloat alphabetCount = customCharacters.length; + NSString *characters = nil; if(nil == customCharacters) { - NSString *stringSet = allowedCharactersString(allowedCharacters); - alphabetCount = stringSet.length; + characters = allowedCharactersString(allowedCharacters); } + else { + NSString *characters = mergeWithoutDuplicates( + allowedCharactersString(allowedCharacters), + customCharacters); + } + CGFloat alphabetCount = characters.length; CGFloat passwordLegnth = self.length; return passwordLegnth * ( log10(alphabetCount) / log10(2) ); } From 1e3e3e141c737dd460d53b1dd74635d779f5c6ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Patrik=20Thunstr=C3=B6m?= Date: Sun, 17 Apr 2016 23:56:33 +0200 Subject: [PATCH 2/2] Typo fix --- MacPass/NSString+MPPasswordCreation.m | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/MacPass/NSString+MPPasswordCreation.m b/MacPass/NSString+MPPasswordCreation.m index 7b9717eb..1ab8c9c0 100644 --- a/MacPass/NSString+MPPasswordCreation.m +++ b/MacPass/NSString+MPPasswordCreation.m @@ -115,7 +115,7 @@ static NSString *mergeWithoutDuplicates(NSString* baseCharacters, NSString* cust customCharacters); } CGFloat alphabetCount = characters.length; - CGFloat passwordLegnth = self.length; - return passwordLegnth * ( log10(alphabetCount) / log10(2) ); + CGFloat passwordLength = self.length; + return passwordLength * ( log10(alphabetCount) / log10(2) ); } @end