diff --git a/adduser.py b/adduser.py new file mode 100644 index 0000000..c870bfd --- /dev/null +++ b/adduser.py @@ -0,0 +1,15 @@ +#!/usr/bin/env python2.7 + +import getpass +from database import db_session as db + +passprompt=lambda:(getpass.getpass('Password: '),getpass.getpass('Retype password: ')) + +if __name__=='__main__': + username=raw_input('Username: ') + p1,p2=passprompt() + while p1!=p2: + print 'Passwords do not match!' + p1,p2=passprompt() + db.add(User(username,p1)) + db.commit() diff --git a/models.py b/models.py index 287e242..df39f26 100755 --- a/models.py +++ b/models.py @@ -1,6 +1,6 @@ #!/usr/bin/env python2.7 -import datetime +import datetime,bcrypt from sqlalchemy import Column,Integer,String,Date from database import Base @@ -13,7 +13,10 @@ class User(Base): def __init__(self,username,password): self.username=username - self.password=password + self.password=bcrypt.hashpw(password.encode(),bcrypt.gensalt().encode()) + + def checkpass(self,password): + return self.password==bcrypt.hashpw(password.encode(),self.password.encode()) class Diary(Base): __tablename__='diaries'