xor_encryption 0.0.4 copy "xor_encryption: ^0.0.4" to clipboard
xor_encryption: ^0.0.4 copied to clipboard

This package is an implementation of xor cipher for encrypting strings in flutter.

example/lib/main.dart

import 'package:flutter/material.dart';
import 'package:xor_encryption/xor_encryption.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'XOR Encryption',
      theme: ThemeData(
        colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple),
        useMaterial3: true,
      ),
      home: const MyHomePage(title: 'XOR Encryption'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  const MyHomePage({super.key, required this.title});

  final String title;

  @override
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  String secret = '', encrypted = '', decrypted = '';
  TextEditingController message = TextEditingController();

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        backgroundColor: Theme.of(context).colorScheme.inversePrimary,
        title: Text(widget.title),
      ),
      body: Padding(
        padding: const EdgeInsets.all(15.0),
        child: Center(
          child: Column(
            mainAxisAlignment: MainAxisAlignment.center,
            children: <Widget>[
              if (secret != '') const Text('Your secert key is:'),
              if (secret != '')
                Text(
                  secret,
                  style: Theme.of(context).textTheme.headlineMedium,
                ),
              ElevatedButton(
                onPressed: () {
                  setState(() {
                    secret = XorCipher().getSecretKey(34);
                  });
                },
                child: const Text('Generate Encryption Key'),
              ),
              const SizedBox(height: 30),
              const Text('Enter Message to encrypt'),
              TextFormField(
                controller: message,
                onChanged: (value) => setState(() {}),
                decoration: const InputDecoration(
                  isDense: true,
                  border: OutlineInputBorder(),
                  focusedBorder: OutlineInputBorder(),
                ),
              ),
              const SizedBox(height: 30),
              if (message.text.isNotEmpty)
                Column(
                  children: [
                    if (encrypted != '') const Text('Encrypted Text is:'),
                    if (encrypted != '')
                      Text(
                        encrypted,
                        style: Theme.of(context).textTheme.headlineMedium,
                      ),
                    ElevatedButton(
                      onPressed: () {
                        setState(() {
                          if (secret == '') {
                            ScaffoldMessenger.of(context).showSnackBar(
                              const SnackBar(
                                content: Text(
                                  'Please generate a secret key first',
                                ),
                              ),
                            );
                          } else {
                            encrypted = XorCipher().encryptData(
                              message.text,
                              secret,
                            );
                          }
                        });
                      },
                      child: const Text('Encrypt Data'),
                    ),
                    const SizedBox(height: 30),
                    if (decrypted != '') const Text('Decrypted Text is:'),
                    if (decrypted != '')
                      Text(
                        decrypted,
                        style: Theme.of(context).textTheme.headlineMedium,
                      ),
                    ElevatedButton(
                      onPressed: () {
                        setState(() {
                          if (encrypted == '') {
                            ScaffoldMessenger.of(context).showSnackBar(
                              const SnackBar(
                                content: Text(
                                  'Please encrypt a text first',
                                ),
                              ),
                            );
                          } else {
                            decrypted = XorCipher().encryptData(
                              encrypted,
                              secret,
                            );
                          }
                        });
                      },
                      child: const Text('Decrypt Data'),
                    ),
                  ],
                ),
            ],
          ),
        ),
      ),
    );
  }
}
6
likes
150
points
55
downloads

Publisher

verified publisheraishayy.com

Weekly Downloads

This package is an implementation of xor cipher for encrypting strings in flutter.

Repository (GitHub)

Documentation

API reference

License

MIT (license)

Dependencies

flutter, flutter_web_plugins, plugin_platform_interface

More

Packages that depend on xor_encryption