SecureFileHub is an ASP.NET Core MVC web application for secure file upload, encrypted storage, controlled sharing, and audit logging.
- User registration and login
- BCrypt password hashing
- Session-based authentication
- Account lockout after repeated failed logins
- File upload with extension, size, and magic-byte validation
- Encrypted file storage using AES-256-GCM
- Shareable links with expiry, password protection, and permission level
- Admin dashboard with audit log visibility
- C# / .NET 9
- ASP.NET Core MVC
- Entity Framework Core
- SQLite
- Bootstrap
- .NET 9 SDK
- Copy
.env.exampleto.env - Set
ENCRYPTION_KEYto a 32-byte key - Restore packages:
dotnet restore- Build the project:
dotnet build- Run the application:
dotnet runExample .env value:
ENCRYPTION_KEY=12345678901234567890123456789012
The encryption key must be exactly 32 bytes.
- The app uses SQLite with
SecureFileHub.db - EF Core migrations are applied automatically on startup
In development only, if the database has no users yet, the app seeds:
admin@test.com/Admin@123user@test.com/User@1234
Do not use these credentials in production.
Default launch settings:
- HTTP:
http://localhost:5106 - HTTPS:
https://localhost:7193
- Do not commit
.env - Do not commit real secrets or production credentials
- Uploaded files are stored outside the web root in the
uploads/directory - Files are encrypted before being written to disk
- Include
.env.example, not the real.env - Include screenshots required by the final project document
- Run dependency audit before submission:
dotnet list package --vulnerable --include-transitive