elliptic_curve_keypair 0.0.2 copy "elliptic_curve_keypair: ^0.0.2" to clipboard
elliptic_curve_keypair: ^0.0.2 copied to clipboard

A new Flutter plugin to encrypt data using elliptic curve keypair.

example/lib/main.dart

import 'package:flutter/material.dart';
import 'package:flutter/scheduler.dart';
import 'dart:async';

import 'package:flutter/services.dart';
import 'package:elliptic_curve_keypair/elliptic_curve_keypair.dart';
import 'package:elliptic_curve_keypair/models/ecc_result_model.dart';

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

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

  @override
  State<MyApp> createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  String _platformVersion = 'Unknown';
  final _ellipticCurveKeypairPlugin = EllipticCurveKeypair();
  String? signed;
  String? public;
  String? uuid;
  @override
  void initState() {
    super.initState();
    SchedulerBinding.instance.addPostFrameCallback((_) async {
      //getpublic Key
      await ellipticCurveKeyPairPublicKey('alias');
      //getpublic Key Pem
      await ellipticCurveKeyPairPublicKeyPem('alias');
      //sign
      await ellipticCurveKeyPairSign("datatosign", 'alias');
    });
  }

  Future<void> ellipticCurveKeyPairSign(String data, String uuid) async {
    try {
      String dataToSign = data;
      String language = "English";
      String alias = uuid;

      EccResultModel signedData =
          await EllipticCurveKeypair.ellipticCurveKeyPairSigning(
        message: dataToSign,
        language: language,
        alias: alias,
      );
      if (signedData.success!) {
        print(signedData.data);
        setState(() {
          signed = signedData.data;
        });
      } else {
        print(signedData.data);
        setState(() {
          public = "FAILED, ERROR => ${signedData.data.toString()}";
        });
      }
    } on PlatformException catch (e) {
      print("Unexpected error occured$e");
    }
  }

  Future<void> ellipticCurveKeyPairPublicKey(String uuid) async {
    try {
      EccResultModel publicKey =
          await EllipticCurveKeypair.ellipticCurveKeyPairPublicKey(
        alias: uuid,
      );
      if (publicKey.success!) {
        print(publicKey.data);
        setState(() {
          public = publicKey.data;
        });
      } else {
        setState(() {
          signed = "FAILED, ERROR => ${publicKey.data.toString()}";
        });
      }
    } on PlatformException catch (e) {
      print("Unexpected error occured$e");
    }
  }

  Future<void> ellipticCurveKeyPairPublicKeyPem(String uuid) async {
    try {
      EccResultModel publicKey =
          await EllipticCurveKeypair.ellipticCurveKeyPairPublicKeyPem(
        alias: uuid,
      );
      if (publicKey.success!) {
        print(publicKey.data);
        setState(() {
          public = publicKey.data;
        });
      } else {
        setState(() {
          signed = "FAILED, ERROR => ${publicKey.data.toString()}";
        });
      }
    } on PlatformException catch (e) {
      print("Unexpected error occured$e");
    }
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: const Text('Plugin example app'),
        ),
        body: Center(
          child: Text('Running on: $_platformVersion\n'),
        ),
      ),
    );
  }
}
0
likes
135
points
12
downloads

Publisher

verified publisherjakapong.com

Weekly Downloads

A new Flutter plugin to encrypt data using elliptic curve keypair.

Homepage

Documentation

API reference

License

MIT (license)

Dependencies

flutter, plugin_platform_interface

More

Packages that depend on elliptic_curve_keypair

Packages that implement elliptic_curve_keypair