Skip to content

TheBlueHeron/Cryptor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Cryptor

.NET C# Platform WPF Stars Forks Issues Last Commit License

A lightweight WPF desktop application for encoding, decoding, encrypting, and decrypting text using a variety of algorithms — all from a single, clean interface.


✨ Features

Algorithm Encode / Encrypt Decode / Decrypt
Base64
HTML
URL
AES
Triple DES
  • MVVM architecture — built with CommunityToolkit.Mvvm
  • Secure key input — AES and Triple DES keys and IVs are entered via PasswordBox and stored as SecureString; intermediate byte arrays are zeroed immediately after use
  • Single-file publish — releases as a self-contained-free, single win-x64 executable

🖥️ Requirements

Requirement Version
OS Windows 10 / 11 (x64)
Runtime .NET 10 Desktop Runtime

🚀 Getting Started

Run from release

  1. Download the latest executable from the Releases page.
  2. Ensure the .NET 10 Desktop Runtime is installed.
  3. Run CryptorApp.exe.

Build from source

git clone https://github.com/TheBlueHeron/Cryptor.git
cd Cryptor
dotnet build CryptorApp/CryptorApp.csproj

To produce a single-file release build:

dotnet publish CryptorApp/CryptorApp.csproj -c Release

🔐 Usage

  1. Select an algorithm from the dropdown list.
  2. For AES or Triple DES, enter the key and IV in the settings panel:
    • AES: key must be 16, 24, or 32 bytes; IV must be 16 bytes.
    • Triple DES: key must be 16 or 24 bytes (non-weak); IV must be 8 bytes.
  3. Paste or type the input text.
  4. Click Convert to see the result.

🏗️ Project Structure

CryptorApp/
├── Common/
│   ├── Crypt.cs              # Encoding helpers (StringToBytes, SecureStringToBytes, …)
│   ├── CryptResult.cs        # Result struct returned by every ICryptor
│   └── ICryptor.cs           # Shared interface for all encode/decode operations
├── Cryptors/
│   ├── AesCryptor.cs         # AES encrypt / decrypt
│   ├── Base64Cryptor.cs      # Base64 encode / decode
│   ├── HtmlCryptor.cs        # HTML encode / decode
│   ├── TripleDesCryptor.cs   # Triple DES encrypt / decrypt
│   └── UrlCryptor.cs         # URL encode / decode
├── ViewModels/
│   ├── MainViewModel.cs      # Main window view model
│   └── SettingsViewModel.cs  # Key / IV settings view model
└── Views/
    ├── CryptSettings.xaml    # Key / IV settings control
    ├── MainWindow.xaml       # Main application window
    └── PasswordBoxHelper.cs  # Attached behavior for SecureString ↔ PasswordBox binding

📦 Dependencies

Package Version
CommunityToolkit.Mvvm 8.4.1
Microsoft.Xaml.Behaviors.Wpf 1.1.142

🤝 Contributing

Contributions are welcome! Please open an issue first to discuss what you would like to change, then submit a pull request.

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/my-feature)
  3. Commit your changes (git commit -m 'Add my feature')
  4. Push to the branch (git push origin feature/my-feature)
  5. Open a Pull Request

📄 License

Distributed under the MIT License. See LICENSE for details.