Studentnummer : xxxxxxxx
Datum : 12-06-2019
Opleiding : HBO Bachelor Informatica (met subsidie)
Module : Ontwerpen en Programmeren
,Voorwoord
Mijn naam is xxxxxx en ik volg de opleiding HBO Informatica (met subsidie). De module
Ontwerpen en programmeren wordt afgesloten met een eindopdracht. De opdracht bestaat
uit het schrijven van een applicatie in de programeer taal Java en moet minimaal uit vier
klassen bestaan. Het onderwerp dat ik hiervoor heb gekozen, is het maken van een
wachtwoord generator omdat dit kan worden gebruikt tijdens mijn werkzaamheden. Het
bedenken van lastig te raden wachtwoorden kan veel tijd kosten en dat hoop ik hiermee te
kunnen besparen.
2
,Samenvatting
Als moduleopdracht voor ontwerpen en programmeren wordt er verwacht dat er een werkende
applicatie wordt opgeleverd met een minimum van vier klassen. De opdracht wordt uitgevoerd
voor het bedrijf waar ik werkzaam ben genaamd xxxxxxxx. xxxxxxxx neemt het beheer van IT
infrastructuren over van haar klanten. Hierdoor heeft de klant geen zorg meer voor het
netwerk. De moduleopdracht waarvoor ik heb gekozen is een wachtwoord generator. Deze
keuze heb ik gemaakt omdat xxxxxxxx veel wachtwoorden moet beheren van meerdere
systemen. De wachtwoord generator heeft de mogelijkheid om een wachtwoord aan te maken
met de volgende waardes:
• Cijfers 0 tot en met 9
• Kleine letters
• Hoofdletters
• Symbolen
Daarnaast kan er nog worden gekozen uit hoeveel karakters het wachtwoord moet bestaan.
Na het aanmaken van het wachtwoord kan er gekozen worden om het wachtwoord te kopiëren
naar het clipbord van het systeem. Om de veiligheid te waarborgen van het aangemaakte
wachtwoord is de mogelijkheid toegevoegd om het wachtwoord op te slaan naar een
tekstbestand. Het tekstbestand is daarna te encrypten of te decrypten zodat het niet meer
leesbaar is voor het menselijk oog.
Summary
As a module assignment for design and programming, therefore it is expected that a working
application will be delivered with a minimum of four classes. The assignment is carried out for
the company where I work called xxxxxxxx. xxxxxxxx takes over the management of IT
infrastructures from its customers. This means that the customer no longer has to worry about
the network. The module assignment that I have chosen is a password generator. I made this
choice because xxxxxxxx has to manage many passwords from multiple systems. The
password generator has the ability to create a password with the following values:
• Figures 0 to 9
• Lowercase
• Capital letters
• Symbols
In addition, thus it is also possible to choose from how many characters the password must
consist of. After creating the password, subsequently you can choose to copy the password
to the clipboard of the system. To guarantee the security of the password created, thereafter
the option has been added to save the password to a text file. The text file can then be
encrypted or decrypted so that it is no longer readable by the human eye.
3
, Inhoudsopgave
Inleiding. ........................................................................................................................................... 5
Afkortingenlijst. ................................................................................................................................. 6
De organisatie. .................................................................................................................................. 7
Het doel van de applicatie. ................................................................................................................ 7
De functionaliteiten van de applicatie................................................................................................ 7
Wachtwoorden genereren................................................................................................................. 7
Kopiëren van wachtwoorden naar clipboard...................................................................................... 8
Gegenereerde wachtwoorden opslaan in tekstbestand. .................................................................... 8
Tekstbestanden encrypten of decrypten............................................................................................ 8
Het UML klassendiagram. .................................................................................................................. 9
Toelichting UML klassendiagram.................................................................................................... 9
De Java programmeercode. ............................................................................................................. 10
Toelichting Java programmeercode. ............................................................................................ 10
De uitgevoerde testen. .................................................................................................................... 12
Literatuurlijst. .................................................................................................................................. 13
Bijlage. ............................................................................................................................................ 14
UML klassendiagram.................................................................................................................... 14
Main.java .................................................................................................................................... 15
JFramGui.java .............................................................................................................................. 15
generatePassword.java................................................................................................................ 25
CopyToClip.java ........................................................................................................................... 30
SaveToFile.java ............................................................................................................................ 31
EncryptOrDecryptFrame.java ....................................................................................................... 33
EncryptDecrypt.java .................................................................................................................... 39
4