]> Dogcows Code - chaz/p5-File-KDBX/blobdiff - lib/File/KDBX/Key/Password.pm
add initial WIP
[chaz/p5-File-KDBX] / lib / File / KDBX / Key / Password.pm
diff --git a/lib/File/KDBX/Key/Password.pm b/lib/File/KDBX/Key/Password.pm
new file mode 100644 (file)
index 0000000..84f8e38
--- /dev/null
@@ -0,0 +1,26 @@
+package File::KDBX::Key::Password;
+# ABSTRACT: A password key
+
+use warnings;
+use strict;
+
+use Crypt::Digest qw(digest_data);
+use Encode qw(encode);
+use File::KDBX::Error;
+use File::KDBX::Util qw(erase);
+use namespace::clean;
+
+use parent 'File::KDBX::Key';
+
+our $VERSION = '999.999'; # VERSION
+
+sub init {
+    my $self = shift;
+    my $primitive = shift // throw 'Missing key primitive';
+
+    $self->_set_raw_key(digest_data('SHA256', encode('UTF-8', $primitive)));
+
+    return $self->hide;
+}
+
+1;
This page took 0.019958 seconds and 4 git commands to generate.