Commit 51520879 authored by Likun Zhang's avatar Likun Zhang
Browse files

The tool for user and password generation.

git-svn-id: svn:// e5f2f494-b856-4b98-b285-d166d9295462
parent 2019e573
Create user and its password by run the following command:
The user and its password is saved in file 'passwd.csv'.
This file implements user management program. The user name and
its password is saved in csv file.
import random
from hashlib import sha1
import csv
class PasswordHash(object):
def __init__(self, password_):
self.salt = "".join(chr(random.randint(33, 127)) for x in range(64))
self.saltedpw = sha1((password_ + self.salt).encode()).hexdigest()
def check_password(self, password_):
"""checks if the password is correct"""
return self.saltedpw == sha1((password_ + self.salt).encode()).hexdigest()
# Note: a secure application would never store passwords in plaintext in the source code
def check_username(name):
csvfile = open('passwd.csv')
ret = 0
reader = csv.reader(csvfile, delimiter = "\t", quoting = csv.QUOTE_MINIMAL)
for row in reader:
if name == row[0]:
ret = 1
return ret
def save_info(name,pw,salt):
csvfile = open('passwd.csv', 'a')
writer = csv.writer(csvfile, delimiter = "\t", quoting = csv.QUOTE_MINIMAL)
writer.writerow([name, pw, salt])
def register():
flag = True
# create the file if it doesn't exist
csvfile = open('passwd.csv', "w")
while flag :
username = input("username:")
passwd = input("passwd:")
if check_username(username):
print("the usename already exist!")
else :
pwhash = PasswordHash(passwd)
save_info(username,pwhash.saltedpw, pwhash.salt)
print("register success!")
flag = False
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment