WisFaq!

\require{AMSmath} geprint op dinsdag 16 april 2024

Aantal wachtwoorden berekenen

Hello,

Veronderstel het volgende
Een wachtwoord moet voldoen aan volgende eigenschappen (zie
:
• At least six characters (but only the first 8 characters are used!)
• At least one uppercase (capital) letter A-Z (26 tekens)
• At least one lowercase (small) letter a-z (26 tekens)
• At least one digit 0-9 (10 tekens)
• At least one special character out of the set ‘!$%^&·()\_+-=;,./? (20 tekens)
Hoeveel zulke wachtwoorden zijn er van hoogstens 8 tekens?

Ik heb wat op het net zitten zoeken en op pagina 5 van dit document vind ik een gelijksoortig opgave

http://www.cs.pitt.edu/~milos/courses/cs441/lectures/Class23.pdf

De eerste stap is volledig geen probleem.
De tweede stap verkrijg ik, analoog getracht de pdf te volgen, het volgende (enkel in het geval van 6 cijfers)

826 - 566 [Verplichte Ucase] - 566 [Verplicte Lcase] - 626 [Symbool] - 726 [Getal] = 46210407424

Is deze methode correct?

met dank

jeffrey
11-4-2007

Antwoord

Dag Jeffrey,

Het is niet helemaal correct, maar wel al in de goede richting.
De fout zit hier: je verwijdert ondermeer 566 voor de codes die geen Uppercase bevatten, en je verwijdert 726 voor de codes die geen getal bevatten. Nu zijn er dan wel codes die je twee keer verwijderd hebt, namelijk die codes die noch een Uppercase, noch een getal bevatten. En zo zijn er 466. Dus die moet je er opnieuw bijtellen, en dit doe je voor elk duo (Uppercase/lowercase; Uppercase/symbool; U/G; L/S; L/G; S/G).

Maar dan ben je er nog niet: kijk eens naar de codes die noch U, noch L, noch G bevatten: in je berekening had je die eerst geteld (dat is die 826, dan er drie keer afgetrokken (in die -566, -566, -726), dan opnieuw drie keer bijgeteld (want je hebt de codes erbij geteld die noch U noch L bevatten (306), die noch U noch G bevatten (466) en die noch L noch G bevatten (466)). Dus die moet je er nog eens bij optellen: +206. En dit doe je voor elk drietal.

Dus alles samen krijg je:
826
-(566+566+626+726)
+(306+466+366+466+366+306)
-(106+206+266+266)

Je kan dit eenvoudig uitbreiden voor een situatie met nog meer soorten tekens: als je een code wil van n tekens uit m categorieën, waarbij je A(i) keuzes hebt in de i-de categorie, dan is het aantal codes die uit elke categorie een element gebruiken, gegeven door:
(åA(i))n (som: i=1 tot m)
- å (åA(j))n (eerste som: i van 1 tot m, tweede som: j van 1 tot m maar verschillend van i)
+ å (åA(j))n (eerste som loopt over tweetallen (i1i2) van 1 tot m, tweede som: j van 1 tot m maar verschillend van i1 en i2)
- å (åA(j))n (eerste som loopt over drietallen (i1i2i3) van 1 tot m, tweede som: j van 1 tot m maar verschillend van i1 en i2 en i3)
+ å (åA(j))n (eerste som loopt over viertallen (i1i2i3i4) van 1 tot m, tweede som: j van 1 tot m maar verschillend van i1 en i2 en i3 en i4)
- etcetera, totdat je werkt met m-tallen.

Groeten,
Christophe.

Christophe
11-4-2007


© 2001-2024 WisFaq
WisFaq - de digitale vraagbaak voor het wiskunde onderwijs - http://www.wisfaq.nl

#50119 - Kansrekenen - Student universiteit België