Git Product home page Git Product logo

pwmanager's Introduction

Todo:

  • Find out general structure of password managers

  • Find what hashing algo to use (probably sha256)

  • Create an SQL database of some kind (mysql)

    • tables: password, username, user_email, app_name, url
  • Refresh memory on how to create, store and retrieve things from an SQL database

  • create a terminal menu

    • needs to allow the user to type in a domain name, url or app name
    • user should get back password, email used, and if applicable username
  • create master password

pwmanager's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pwmanager's Issues

i am so tired of this!!

Traceback (most recent call last):
File "password_manager.py", line 2, in
from secrets import get_secret_key
ImportError: cannot import name 'get_secret_key' from 'secrets' (/usr/lib/python3.8/secrets.py)

This is a error I got and I use python3.7 .What are the other I need to do

Question

After choosing the 1 choice and arriving to this:
image
I don't know what I have to put in...
I supposed to be an url of the website but then whatever I enter I get this error:
image

I don't know why such a thing happens: is it because it is not meant to work on other machine? Or while filling it I made some mistakes?
Please @KalleHallden can you provide further explanations?

Issue in password_manager.py on line 26

Hi.
I was also making password manager, and so went through the repository and copied a piece of code from password_manager.py. But found an error in the 'while block' if you choose '3' it runs the function for infinite times. Since it will not check else code . You can try with this:

`def menu():
print('-'*30)
print(('-'*13) + 'Menu'+ ('-' *13))
print('1. Print one')
print('2. Print two')
print('3. Print three')
print('Q. Exit')
print('-'*30)
return input(": ")

choice = menu()

while choice!="Q":
if choice=="1":
print("choice is one")
if choice=="2":
print("choice is two")
if choice=="3":
print("choice is three")
else:
choice= menu()

exit()
`
can be fixed by putting if block again

if choice!="1" or choice!="2" or choice!="3":

Unused variable / functions

The variable num on line 23 num = int(raw_hex, 16) of hash_maker.py is unused, which makes 2 functions and an additional line useless (unless they are used in secret.py which I don't believe).

The following lines are only used to create a value for the variable num, which is unused (all in hash_maker.py)

raw_hex = make_password(plaintext, app_name)
def make_password(plaintext, app_name):
    salt = get_hexdigest(SECRET_KEY, app_name)[:20]
    hsh = get_hexdigest(salt, plaintext)
    return ''.join((salt, hsh))


def get_hexdigest(salt, plaintext):
    return sha256((salt + plaintext).encode('utf-8')).hexdigest()

[Improvement] Add telegram bot

Hi.
I coded something like that, but i used telegram app on Iphone + telegram API for UI. You can use something like:
/add {name} {url} {login} {passwd}
/get {name} or {url}

Telegram bot started on your own server, or cheap vps (aws, digitalocean etc.)
Look like your own 1Password :) but you will not publish new app in AppStore.

"secret"

  • from secret import get_secret_key
  • cannot import name 'get_secret_key' from 'secret'

Generated Hash was not used in password creation.

hi @KalleHallden ,

recently found this repo for password manager. correct me if i am wrong, the generated Hash Value (raw_hex variable) in the hash_maker.py file is not used in the generation of random password. so, what's the use of calculating Hash values using appname and plaintext given by user. please mention if the hash values are used else where.
thank you,

Enhancement suggestion

When the code is run, it asks for a general password, but if the user made a slight mistake apparently it quits everything and the user has to restart it. As a eventual user I find it quit inconvenient.
I think in order to improve the user experience, here is my modest suggestion to make some changes in the password_manager.py file:

def run(a, b):
    if a == b:
        print('You\'re in')
        choice = menu()
        while choice != 'Q':
            if choice == '1':
                create()
            if choice == '2':
                find_accounts()
            if choice == '3':
                find()
            else:
                choice = menu()

    else:
        print('no luck')
        restart = input('would you like to try again (y/n): ')
        if restart == 'y':
            run(a, b)
        else:
            quit()

run(passw, secret)

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.