kpasslib 1.0.8 copy "kpasslib: ^1.0.8" to clipboard
kpasslib: ^1.0.8 copied to clipboard

A Dart library for reading, modifying and writing KeePass v2 databases (KDBX version 3 or 4).

example/example.dart

import 'package:kpasslib/kpasslib.dart';

// TODO: improve the example

/// Creates a new database, modifies it, saves and loads again.
void main() async {
  final credentials = KdbxCredentials(
    password: ProtectedData.fromString('demo'),
    keyData: KdbxCredentials.createRandomKeyFile(version: 2),
  );

  var db = KdbxDatabase.create(
    credentials: credentials,
    name: 'Example',
  );

  final subGroup = db.createGroup(
    parent: db.root,
    name: 'Subgroup',
  );

  final entry = db.createEntry(parent: subGroup);

  entry.fields.addAll({
    'Title': KdbxTextField.fromText(text: 'Title'),
    'UserName': KdbxTextField.fromText(text: 'User'),
    'Password': KdbxTextField.fromText(
      text: 'Password',
      protected: true,
    ),
  });

  final binary = ProtectedBinary(
    protectedData: ProtectedData.fromString(
      'bin.txt content',
    ),
  );

  final reference = db.binaries.add(binary);
  entry.binaries['bin.txt'] = reference;

  entry.pushHistory();
  entry.fields.addAll({
    'Title': KdbxTextField.fromText(text: 'New title'),
    'UserName': KdbxTextField.fromText(text: 'New user'),
    'Password': KdbxTextField.fromText(
      text: 'New password',
      protected: true,
    ),
    'Custom': KdbxTextField.fromText(text: 'Custom'),
    'ProtectedCustom': KdbxTextField.fromText(
      text: 'Protected custom',
      protected: true,
    ),
  });
  entry.times.touch();

  final data = await db.save();
  db = await KdbxDatabase.fromBytes(
    data: data,
    credentials: credentials,
  );
}
1
likes
140
points
19
downloads

Publisher

unverified uploader

Weekly Downloads

A Dart library for reading, modifying and writing KeePass v2 databases (KDBX version 3 or 4).

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (license)

Dependencies

archive, collection, convert, crypto, cryptography, hashlib, pointycastle, xml

More

Packages that depend on kpasslib