file_digest 0.0.5 copy "file_digest: ^0.0.5" to clipboard
file_digest: ^0.0.5 copied to clipboard

Easily create digest hex for files

example/lib/main.dart

import 'dart:async';

import 'package:cross_file/cross_file.dart';
import 'package:file_digest/file_digest.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';

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

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

  static const input = 'Test content';

  // Platform messages are asynchronous, so we initialize in an async method.
  Future<({String sha256, String sha512})> getDigests() async {
    final file = XFile.fromData(Uint8List.fromList(input.codeUnits));
    final digest = FileDigest.xFile(file);

    return (
      sha256: await digest.sha256(),
      sha512: await digest.sha512(),
    );
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: const Text('Plugin example app'),
        ),
        body: Center(
          child: SizedBox(
            width: 400,
            child: FutureBuilder(
              future: getDigests(),
              builder: (context, snapshot) {
                final data = snapshot.data;

                if (data == null) {
                  return const CircularProgressIndicator();
                }

                const textStyle = (
                  label: TextStyle(fontSize: 20, fontWeight: FontWeight.w600),
                  value: TextStyle(fontSize: 14, fontWeight: FontWeight.normal),
                );

                return Column(
                  crossAxisAlignment: CrossAxisAlignment.start,
                  mainAxisAlignment: MainAxisAlignment.center,
                  children: [
                    Text('SHA-256', style: textStyle.label),
                    Text(data.sha256, style: textStyle.value),
                    const SizedBox(height: 20),
                    Text('SHA-512', style: textStyle.label),
                    Text(data.sha512, style: textStyle.value),
                  ],
                );
              },
            ),
          ),
        ),
      ),
    );
  }
}
3
likes
130
points
116
downloads

Publisher

unverified uploader

Weekly Downloads

Easily create digest hex for files

Repository (GitHub)
View/report issues

Topics

#file #digest

Documentation

API reference

License

MIT (license)

Dependencies

cross_file, crypto

More

Packages that depend on file_digest