C# pohjaisen tiedostosalausohjelman toteutus
Järvinen, Jere (2025)
Järvinen, Jere
2025
All rights reserved. This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-202502032215
https://urn.fi/URN:NBN:fi:amk-202502032215
Tiivistelmä
Tämä opinnäytetyö käsittelee tiedostojen salausta ja purkua AES-salausalgoritmilla, hyödyntäen PBKDF2-avaimenjohdannaisfunktiota ja SHA-256 hajautusalgoritmia. Työn tavoitteena oli kehittää turvallinen ja käyttäjäystävällinen ohjelma tiedostojen suojaamiseen, erityisesti yksityishenkilöiden ja yritysten tarpeisiin. Ohjelma toteutettiin C#-ohjelmointikielellä ja .NET-kirjastoilla, käyttäen komentorivipohjaista käyttöliittymää.
Päätuloksena syntyi ohjelma, joka kykenee käsittelemään tiedostoja tehokkaasti ja luotettavasti, säilyttäen tiedostojen alkuperäisen tiedostomuodon salauksen ja salauksen purkamisen jälkeen. Työssä myös opittiin vahvojen salasanojen merkitys ja tärkeys, sillä ohjelma ei mahdollista tiedostojen purkua ilman oikeaa salasanaa.
Ohjelma täyttää modernit salausstandardit, mutta sen käytössä on huomioitava tietyt käyttörajoitukset, jotka tässä työssä, mutta myös ohjelman käyttöohjeissa läpi selkeästi. Työ tarjoaa hyvän ja yksinkertaisen pohjan jatkokehitykselle, esimerkiksi graafisen käyttöliittymän tekemiselle tai uudelle, monimutkaisemmalle ohjelmalle.
Päätuloksena syntyi ohjelma, joka kykenee käsittelemään tiedostoja tehokkaasti ja luotettavasti, säilyttäen tiedostojen alkuperäisen tiedostomuodon salauksen ja salauksen purkamisen jälkeen. Työssä myös opittiin vahvojen salasanojen merkitys ja tärkeys, sillä ohjelma ei mahdollista tiedostojen purkua ilman oikeaa salasanaa.
Ohjelma täyttää modernit salausstandardit, mutta sen käytössä on huomioitava tietyt käyttörajoitukset, jotka tässä työssä, mutta myös ohjelman käyttöohjeissa läpi selkeästi. Työ tarjoaa hyvän ja yksinkertaisen pohjan jatkokehitykselle, esimerkiksi graafisen käyttöliittymän tekemiselle tai uudelle, monimutkaisemmalle ohjelmalle.