Giter Club home page Giter Club logo

diary's People

Contributors

curlysemi avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

Forkers

cryptobabel

diary's Issues

Alternative to passwords

It occurs to me that a user might want to create a whole class of entries for the same 'diaries' (if that makes sense) and retyping the passwords every single time could get very frustrating very quickly. Additionally, if we are to actually take the password route, the passwords need confirmation fields, because it wouldn't be a good user experience if they happened to mistype their intended password.

While the existing base functionality makes sense for a single-entry system, we should consider other use-cases and attempt to support them, especially as it doesn't seem to be too difficult.

While diary is the name of the application, users could define "journals" that entries are intended for. That way, the user could simply pick the journal each entry is intended for without having to type passwords (and without the convenience of lazy, bad passwords).

Achieving this does require asymmetric cryptography, but I don't think that's too terrible of a trade-off. It would be a fairly simple use of ECDH to arrive upon the key to use with ChaCha20. We'd just need to also include the ephemeral public key(s?) with the entry.

(pkcs7encoder) TypeError: Odd-length string

One of the messages for an entry caused the entry to fail during the attempted save:

Exception in Tkinter callback
Traceback (most recent call last):
  File "/usr/lib/python2.7/lib-tk/Tkinter.py", line 1540, in __call__
    return self.func(*args)
  File "./diary.py", line 50, in save_command
    entry = diary_io.create_entry(message_password_pairs)
  File "/home/julian/Documents/diary/diary_io.py", line 32, in create_entry
    encrypted_entry_data = diary_util.enc(messages, passwords, index=index)
  File "/home/julian/Documents/diary/lib/utils/diary_util.py", line 45, in enc
    plaintext = encoder.encode(plaintext)
  File "/home/julian/Documents/diary/lib/models/pkcs7encoder.py", line 39, in encode
    encoded = binascii.unhexlify(output.getvalue())
TypeError: Odd-length string

I added a space to one of the entries and it was able to save. I'll need to come up with a minimal example, but I'm creating the issue to track this bug.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.