Skip to main content

xomniseal 2.1.11 copy "xomniseal: ^2.1.11" to clipboard
xomniseal: ^2.1.11 copied to clipboard

A Dart library for concealing and revealing data in various file formats

Xomniseal Dart Package #

Dart SDK for Xomniseal with file-path, bytes, and base64 APIs.

Installation #

dependencies:
  xomniseal: ^2.1.1

Then run:

dart pub get

Notes #

  • API is synchronous by default.
  • Verification status values are clean or tampered.
  • removeFile, removeBytes, and removeBase64 require privateSeed.

File-Path API #

import 'package:xomniseal/xomniseal.dart';

void main() {
  final xs = Xomniseal();
  const seed = 'my-private-seed';

  final concealResult = xs.concealFile('cover.png', 'secret.txt', 'sealed.png', seed);
  print(concealResult['output_path']);

  final revealResult = xs.revealFile('sealed.png', 'out', seed);
  print(revealResult['output_path']);

  final verifyResult = xs.verifyFile('sealed.png');
  print(verifyResult['success']); // true when status == clean
  print(verifyResult['status']); // clean / tampered / not_sealed

  xs.removeFile('sealed.png', seed, outputFilePath: 'clean.png');
}

Bytes API #

import 'dart:io';
import 'dart:typed_data';
import 'package:path/path.dart' as p;
import 'package:xomniseal/xomniseal.dart';

void main() {
  final xs = Xomniseal();
  const seed = 'my-private-seed';

  final coverBytes = Uint8List.fromList(File('cover.png').readAsBytesSync());
  final secretBytes = Uint8List.fromList(File('secret.txt').readAsBytesSync());

  final sealed = xs.concealBytes(
    coverBytes,
    p.basename('cover.png'),
    secretBytes,
    p.basename('secret.txt'),
    seed,
  );

  final reveal = xs.revealBytes(sealed, 'cover.png', seed);
  if (reveal != null) {
    print(reveal.verificationStatus); // clean / tampered
  }

  final cleaned = xs.removeBytes(sealed, 'cover.png', seed);
  File('clean.png').writeAsBytesSync(cleaned);
}

Base64 API #

import 'dart:convert';
import 'dart:io';
import 'package:xomniseal/xomniseal.dart';

void main() {
  final xs = Xomniseal();
  const seed = 'my-private-seed';

  final coverB64 = base64Encode(File('cover.png').readAsBytesSync());
  final secretB64 = base64Encode(File('secret.txt').readAsBytesSync());

  final conceal = xs.concealBase64(
    coverB64,
    'cover.png',
    secretB64,
    'secret.txt',
    seed,
  );
  final sealedB64 = conceal['sealed_file_base64']!;

  final verify = xs.verifyBase64(sealedB64, 'cover.png');
  print(verify['success']); // true when status == clean
  print(verify['status']); // clean / tampered / not_sealed

  final remove = xs.removeBase64(sealedB64, 'cover.png', seed);
  final cleanedB64 = remove['cleaned_file_base64']!;
  File('clean.png').writeAsBytesSync(base64Decode(cleanedB64));
}

Error Handling #

import 'package:xomniseal/xomniseal.dart';

void main() {
  final xs = Xomniseal();
  try {
    xs.concealFile('missing.png', 'secret.txt', 'sealed.png', 'seed');
  } on XomnisealError catch (e) {
    print(e);
  }
}

Supported Formats #

  • Office: docx, pptx, xlsx
  • Plaintext: txt, csv, json, xml, html, md
  • DICOM: dcm
  • NOS primary: jpg, jpeg, png, pdf, tiff, gif, webp, bmp, mp3, mp4
  • NOS experimental: wav, flac, ogg, avi, mov, wmv, mkv, webm, m4a, m4v, flv, 3gp, 3g2

License #

Proprietary. See LICENSE.

0
likes
115
points
14
downloads

Documentation

API reference

Publisher

verified publisherpurecipher.com

Weekly Downloads

A Dart library for concealing and revealing data in various file formats

Repository (GitHub)

License

unknown (license)

Dependencies

archive, crypto, path, pointycastle

More

Packages that depend on xomniseal