Skip to content

oyerohabib/HNG-12-Mobile-stage-1

Repository files navigation

Encryption/Decryption App

A React Native application that provides secure data encryption and decryption functionality using a custom algorithm.

Features

  • Custom encryption/decryption algorithm
  • Case-sensitive encryption
  • Secure key-based encryption
  • Modern and intuitive user interface
  • Cross-platform support (iOS, Android, Web)

Installation

  1. Clone the repository
  2. Install dependencies:
npm install
  1. Start the development server:
npm start
  1. Run on your preferred platform:
  • Press 'i' for iOS
  • Press 'a' for Android
  • Press 'w' for web

Usage

  1. Enter the text you want to encrypt in the "Input Text" field
  2. Provide a secret key in the "Secret Key" field
  3. Click "Encrypt" to encrypt your text
  4. The encrypted text will appear below
  5. To decrypt, ensure you have the same secret key and click "Decrypt"

Example

Input Text: "Hello, World!" Secret Key: "MySecretKey123"

The app will generate an encrypted string that can only be decrypted using the same secret key.

Technical Details

The encryption algorithm uses a combination of:

  • XOR operations
  • Position-based shifting
  • ASCII range mapping

This ensures that:

  • The same input text with different keys produces different encrypted output
  • The encryption is reversible only with the correct key
  • The algorithm is case-sensitive
  • The encrypted output contains only printable ASCII characters

Security Considerations

  • Keep your secret key secure and never share it
  • The strength of encryption depends on the complexity of your secret key
  • For production use, consider using standard encryption libraries

Contributing

Feel free to contribute to this project by submitting pull requests or creating issues for bugs and feature requests.