File Encryption Decryption In Node

Typescript API to encrypt and decrypt any type of file (using AES256 encryption)

Cybersecurity & Ethical HackingTypeScriptMIT

Abstract

File Encryption Decryption In Node is an open-source Cybersecurity & Ethical Hacking project. Typescript API to encrypt and decrypt any type of file (using AES256 encryption). It is built using TypeScript, Node.js. The complete source code is publicly available on GitHub under the MIT License, making it a useful reference for students building a Cybersecurity & Ethical Hacking mini project or final-year project.

1. Introduction

Typescript API to encrypt and decrypt any type of file (using AES256 encryption) with compression enabled

2. Objective

Typescript API to encrypt and decrypt any type of file (using AES256 encryption)

This project demonstrates how TypeScript, Node.js can be applied to a real-world Cybersecurity & Ethical Hacking problem.

4. Technology Stack

TypeScriptNode.js

5. System Requirements

General requirements for this technology stack — check the README for exact versions.

  • Node.js (LTS) and npm / yarn / pnpm
  • VS Code or any code editor
  • Git (to clone the repository)

6. Installation & Setup

git clone https://github.com/AChandel01071994/file-encryption-decryption-in-node.git
cd file-encryption-decryption-in-node
npm install zlib app-root-path uuid
import FileService from './file-service';

// file object received from multer
const fileObject = req.files['aadharCardImage'][0];

// encrypt and save the file
await FileService.Instance.saveFile(fileObject, FileService.Instance.bucket.uploads, 'image', 'invalid aadhar card image')

// decrypt and send to user
async getFiles(req: Request, res: Response, next: NextFunction): Promise<void> {
  await FileService.Instance.decryptAndSend(FileService.Instance.bucket.uploads, 'filename.png', res)
}

// delete file
await FileService.Instance.deleteFile(FileService.Instance.bucket.uploads, 'filename.png')

Full setup instructions are in the project README.

7. Future Enhancements

Suggested extensions you can add to make this your own project.

  • Add logging and alert notifications (email / Telegram)
  • Write a threat model document for the tool
  • Package it with Docker for safe lab testing

8. Viva / Review Questions

Common questions examiners ask for projects in this domain.

  1. Which threat or attack does this project defend against?
  2. What detection or protection technique is used and what are its limits?
  3. How are false positives and false negatives handled?
  4. Which cryptographic algorithms or security standards are involved?
  5. What legal and ethical rules apply when testing a tool like this?

9. Source Code & License

This project is developed by AChandel01071994 and published on GitHub under the MIT License. Please follow the license terms and credit the original author when you use or modify this code.

Want to build this as your internship project?

Work on a Cybersecurity & Ethical Hacking project like this with mentor guidance, weekly reviews and an internship certificate from Training Trains, Erode — online or offline.

Apply for Cybersecurity & Ethical Hacking Internship