Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # IMPORTS
- import getpass
- import aerospike
- from argon2 import PasswordHasher
- import secrets
- import string
- import os
- # connect to cluster and store as G*client
- config = {
- 'hosts' : [
- ( '201.203.200.55', 3000 )
- ],
- 'policies' : {
- 'timeout' : 1000 # milliseconds
- }
- }
- client = aerospike.client(config)
- client.connect()
- # FUNCTIONS
- def genSalt():
- return ''.join(secrets.choice(string.printable) for i in range(32, 128))
- def hashPasswd(password, salt):
- hasher = PasswordHasher()
- return hasher.hash(password + salt)
- # MAIN
- def main():
- # get options
- username = input("Enter a username to add: ")
- password = getpass.getpass()
- adminID = input("Admin? 1=yes, 0=no : ")
- # hash password
- salt = genSalt()
- hashedPass = hashPasswd(password, salt)
- # generate AQL record
- key = ("minimoira", "users", username)
- bins = {
- 'uname': username,
- 'pass': hashedPass,
- 'salt': salt,
- 'admin': adminID
- }
- # put record into DB
- client.put(key, bins)
- # TODO: create SSH user on webapp
- mask = os.system("commandToGenUser")
- # TODO: create SSH user on bank2node
- # ALL CODE GOES ABOVE THIS
- main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement