lockix 0.1.2
A secure file encryption and decryption tool
Keywords: encryption, security, files, cryptography

# Lockix - Secure File Encryption Tool

[![PyPI version](https://badge.fury.io/py/lockix.svg)](https://badge.fury.io/py/lockix)

A secure file encryption and decryption tool for protecting your sensitive files using AES-256-CBC encryption.


![diagram](/diagram.svg)

## Features

- Industrial-strength encryption using AES-256-CBC
- Advanced key derivation using PBKDF2 with 1M iterations
- Support for 39+ common file formats
- Interactive CLI with colored output
- Direct command-line interface 
- Secure password storage and management
- File integrity verification with HMAC
- Digital watermarking for authenticity
- Cross-platform support (Windows/Linux/Mac)

## Installation

```bash
pip install lockix
```

## Usage

### Interactive Mode

```bash
lockix --interactive
```

### Command Line Mode

Encrypt a single file:
```bash
lockix encrypt -f file.jpg -p your_password
```

Decrypt a single file:
```bash
lockix decrypt -f file.en -p your_password
```

Change password:
```bash
lockix passwd -n new_password -p current_password
```

Reset password:
```bash
lockix --reset
```
## Supported File Types

### Common File Types
1. JPG/JPEG - Image files
2. MP4 - Video files
3. PNG - Image files
4. PDF - Document files
5. DOC/DOCX - Word documents
6. TXT - Text files
7. ZIP - Archive files
8. MP3 - Audio files
9. XLS/XLSX - Excel spreadsheets
10. PPT/PPTX - PowerPoint presentations

### Media & Images
11. GIF - Animated images
12. BMP - Bitmap images
13. PSD - Photoshop files
14. SVG - Vector graphics
15. WAV - Audio files
16. AVI - Video files
17. MKV - Video files

### Documents & Data
18. CSV - Comma-separated values
19. JSON - Data interchange
20. XML - Markup language
21. HTML - Web pages
22. MD - Markdown files

### Archives & Executables
23. RAR - Archive files
24. 7Z - Archive files
25. ISO - Disk images
26. EXE - Executable files
27. JAR - Java archives
28. APK - Android packages

### Programming & Config
29. PY - Python scripts
30. JS - JavaScript files
31. CPP - C++ source files
32. CS - C# source files
33. JAVA - Java source files
34. PHP - PHP scripts
35. SQL - Database queries
36. ENV - Environment files
37. INI/CFG - Configuration files
38. LOG - Log files
39. DAT - Data files

Note: Files are encrypted with a .e* extension (e.g., .ejpg, .epdf)

## Security Features

- AES-256-CBC encryption
- PBKDF2 key derivation
- Secure password hashing
- File watermarking
- Salt-based encryption



## Usage

### Interactive Mode

```bash
lockix --interactive
```

Follow the menu prompts:
1. Enter your password
2. Select file type (1-13)
3. Choose encrypt/decrypt operation
4. Input file path when prompted

Example interactive session:
```bash
lockix

# Enter password when prompted
PASS :> mypassword

# Select file type (1-13)
>>>> 1

# Choose operation
1. Encrypt
2. Decrypt
3. Back
>>>> 1

# Enter file path
File: test.jpg Encrypted -> .\746573742e6a7067_.en
```


## Requirements

- Python 3.6+
- colorama
- cryptography

## License

MIT License - see LICENSE file for details.

## Author

Ishan Oshada
- Email: ishan.kodithuwakku.official@gmail.com
- GitHub: [ishanoshada](https://github.com/ishanoshada)

## Contributing

1. Fork the repository
2. Create your feature branch
3. Commit your changes
4. Push to the branch
5. Create a new Pull Request


**Repository Views** ![Views](https://profile-counter.glitch.me/lockix/count.svg)