Devin Alvarez

CSCI 2380 Computer Science II · Spring 2025 · Team of 3

Admin Encryption Terminal

A menu-driven C++ console app for managing simulated user accounts and encrypting their passwords, plus a desktop GUI prototype.

My role
Caesar cipher, wxWidgets GUI prototype, refactoring
Built with
  • C++
  • wxWidgets

Overview

A console app where an admin manages a list of "computers" with usernames and passwords, adds new ones to a dynamically resized array, and encrypts or decrypts passwords with two methods: stack-based string reversal and a Caesar cipher.

My role

I built the Caesar cipher (shifting across the full printable ASCII range, with encrypt and decrypt in one function), prototyped a desktop GUI with wxWidgets, and refactored the code to make it cleaner and more efficient. I also helped shape the project's direction and the final report. My teammates, Daniel and Diego, built the stack-reversal method, the slides and the report draft.

Challenge

Since this was our second C++ course, we made code quality a priority, not just getting it to work. I refactored the program to remove duplication: the "encrypt one computer" and "encrypt all computers" options originally had separate, nearly identical logic, and I merged them into one shared path. That cut main.cpp from about 257 lines to about 195 and made it easier to read and extend.

What's next

Replace the teaching ciphers with industry-standard encryption (like OpenSSL) and finish the wxWidgets GUI.

Screenshots