zetrix_encryption_flutter 0.1.0 copy "zetrix_encryption_flutter: ^0.1.0" to clipboard
zetrix_encryption_flutter: ^0.1.0 copied to clipboard

Zetrix encryption library — ED25519, SM2, Dilithium3 (ML-DSA-65 FIPS 204), and Hybrid key support.

example/lib/main.dart

import 'dart:convert';
import 'dart:typed_data';

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

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await initZetrixEncryption();
  runApp(const MyApp());
}

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

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

class _MyAppState extends State<MyApp> {
  final _results = <String>[];
  bool _running = false;

  Future<void> _runDemo() async {
    setState(() {
      _results.clear();
      _running = true;
    });

    const message = 'Hello, Zetrix!';
    final msgBytes = utf8.encode(message);
    final results = <String>[];

    for (final keyType in [keyTypeEd25519, keyTypeSm2, keyTypeDilithium3, keyTypeHybrid]) {
      try {
        final kp = await ZetrixKeypair.generateKeyPair(keyType);
        final signResult = await ZetrixSignature.signMessage(message, kp.privateKey);
        final sigBytes = _hexDecode(signResult.signature);
        final valid = await ZetrixSignature.verify(sigBytes, msgBytes, signResult.publicKey);
        results.add('[$keyType]\nAddress: ${kp.address}\nSignature valid: $valid\n');
      } catch (e) {
        results.add('[$keyType] Error: $e\n');
      }
    }

    setState(() {
      _results.addAll(results);
      _running = false;
    });
  }

  static Uint8List _hexDecode(String hex) {
    final bytes = Uint8List(hex.length ~/ 2);
    for (var i = 0; i < bytes.length; i++) {
      bytes[i] = int.parse(hex.substring(i * 2, i * 2 + 2), radix: 16);
    }
    return bytes;
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(title: const Text('Zetrix Encryption Demo')),
        body: Padding(
          padding: const EdgeInsets.all(16),
          child: Column(
            crossAxisAlignment: CrossAxisAlignment.stretch,
            children: [
              ElevatedButton(
                onPressed: _running ? null : _runDemo,
                child: Text(_running ? 'Running…' : 'Run Key Generation + Sign Demo'),
              ),
              const SizedBox(height: 16),
              Expanded(
                child: ListView.builder(
                  itemCount: _results.length,
                  itemBuilder: (_, i) => Text(
                    _results[i],
                    style: const TextStyle(fontFamily: 'monospace', fontSize: 12),
                  ),
                ),
              ),
            ],
          ),
        ),
      ),
    );
  }
}
0
likes
130
points
11
downloads

Documentation

API reference

Publisher

verified publisherdev.zetrix.com

Weekly Downloads

Zetrix encryption library — ED25519, SM2, Dilithium3 (ML-DSA-65 FIPS 204), and Hybrid key support.

Homepage
Repository

License

MIT (license)

Dependencies

bs58, cryptography, flutter, flutter_rust_bridge, hex, pinenacl, pointycastle

More

Packages that depend on zetrix_encryption_flutter

Packages that implement zetrix_encryption_flutter