コード例 #1
0
 def test_generate_with_different_length(self):
     """Test generate() for fixed length"""
     pg = PasswordGenerator()
     length = 16
     pg.minlen = length
     pg.maxlen = length
     self.assertEqual(len(pg.generate()), length)
コード例 #2
0
    def parse(self, response):
        """
            this method is called as a callback to start scraping
        """
        email = generatemail()
        first_name = names.get_first_name()
        last_name = names.get_last_name()
        password_generator_instance = PasswordGenerator()
        password_generator_instance.minlen = 10
        password = password_generator_instance.generate()

        self.browser.visit(self.start_urls[0])

        self.browser.fill('first_name', first_name)
        self.browser.fill('last_name', last_name)
        self.browser.fill('email', email)
        self.browser.fill('password', password)

        self.browser.find_by_xpath(
            '/html/body/div[1]/div/div[2]/div[1]/div[2]/div/div/div/div[2]/div[1]/div/div[1]/form/button'
        ).click()
        SafariAccount.objects.create(name=first_name + ' ' + last_name,
                                     email=email,
                                     password=password)

        self.browser.quit()
コード例 #3
0
ファイル: load.py プロジェクト: Watcharawut007/sql_project
def create_user_object():
    password = PasswordGenerator()
    password.excludeschars = "!$%^{}[]()=/"
    count = 0
    dup = []
    for test in csv:
        if count == 0:
            pass
            count = count + 1
        elif count == 1000:
            break
        elif test[20] in dup:
            pass
        elif count == 1:
            passw = "12345"
            user = User.objects.create(username="******")
            user.set_password(passw)
            user.save()
            dup.append(test[20])
            count = count + 1
        else :
            passw = password.generate()
            print(test[20],passw+'\n')
            User.objects.create(username=test[20])
            user = User.objects.get(username=test[20])
            user.set_password(passw)
            user.save()
            dup.append(test[20])
            count = count + 1
コード例 #4
0
 def _get_password(self, password, pass_gen):
     if pass_gen:
         pwgen = PasswordGenerator()
         pwgen.maxlen = 10
         return pwgen.generate()
     else:
         return password
コード例 #5
0
def generate_random_string():
    password = PasswordGenerator()
    password.minlen = 8
    password.maxlen = 10
    password.excludeschars = "!$\"\'^()."

    return password.generate()
コード例 #6
0
ファイル: passwd_manager.py プロジェクト: gogagum/ip-teller
class PasswdManager:
    def __init__(self):
        '''Class constructor.'''
        self.passwd_len = 10
        self.passwd_generator = PasswordGenerator()
        self.passwd_generator.minlen = self.passwd_len
        self.passwd_generator.maxlen = self.passwd_len
        self.updater_thread = Thread(name='updater_thread',
                                     target=self._updater_thread,
                                     daemon=True)
        self.updater_thread.start()
        logging.debug('PasswdManager.__init__() finishes')

    def get_curr_passwd(self):
        '''Password getter for password check.'''
        with open("passwd.txt", "r") as passwd_file:
            return passwd_file.read().rstrip()
        logging.debug('Got password from file.')

    def refresh_passwd(self):
        '''Refreshes password.'''
        with open("passwd.txt", "w") as passwd_file:
            passwd_file.write(self.passwd_generator.generate() + '\n')
        logging.debug('PasswdManager.RefreshPasswd() finishes.')

    def _updater_thread(self, period=3600):
        '''Thread function'''
        while True:
            self.refresh_passwd()
            sleep(preiod)
            logging.debug('Updated password.')
コード例 #7
0
def tmp_password(request):
    """
        # 임시 비밀번호 이메일 전송
            :param request:
                - email: String
                - username: String
            :return: 201
    """
    email = request.data.get("email")
    username = request.data.get("username")

    if (username is None) or (email is None):
        raise exceptions.AuthenticationFailed("Required email and username")

    user = get_object_or_404(User, username=username, email=email)
    if user is None:
        raise exceptions.AuthenticationFailed("User not found")

    pwd = PasswordGenerator()
    new_pwd = pwd.generate()

    user.set_password(new_pwd)
    user.save()

    send_tmp_password.delay(user.email, user.username, new_pwd)

    return Response(status=status.HTTP_200_OK)
コード例 #8
0
ファイル: fixtures.py プロジェクト: LilJohny/FriendsRenting
def generate_profiles(session):
    from faker import Faker
    from models.profile import Profile
    from password_generator import PasswordGenerator
    faker = Faker()
    pwo = PasswordGenerator()
    usernames = []
    mails = []
    for i in range(0, 8000):
        profile = faker.simple_profile()
        while profile['username'] in usernames or profile['mail'] in mails:
            print('generating profile')
            profile = faker.simple_profile()
        username, name, surname, mail, address, sex, birth_date = parse_profile(
            profile)
        profile = Profile()
        profile.username = username
        profile.name = name
        profile.surname = surname
        profile.mail = mail
        profile.address = address
        profile.sex = sex
        profile.birth_date = birth_date
        profile.password = pwo.generate()
        profile.profile_id = i + 1
        session.add(profile)
        usernames.append(username)
        mails.append(mail)
    session.commit()
コード例 #9
0
def forgot_password_page():
    if (request.method == 'POST'):
        email=request.form.get('email')
        post = Users.query.filter_by(email=email).first()
        name = post.name;
        if(post!=None):
            if(post.email==json["admin_email"]):
                flash("You can't reset password of administrator!", "danger")
            else:
                pwo = PasswordGenerator()
                password = pwo.generate()
                passwordemial = password
                post.password = sha256_crypt.hash(password)
                db.session.commit()
                subject = "New password generated at "+time
                content1 = '''<!DOCTYPE html><html lang="en" ><head><meta charset="UTF-8"><title>Register CGV</title></head><body><table cellspacing="0" cellpadding="0" border="0" style="color:#333;background:#fff;padding:0;margin:0;width:100%;font:15px/1.25em 'Helvetica Neue',Arial,Helvetica"><tbody><tr width="100%"><td valign="top" align="left" style="background:#eef0f1;font:15px/1.25em 'Helvetica Neue',Arial,Helvetica"><table style="border:none;padding:0 18px;margin:50px auto;width:500px"><tbody><tr width="100%" height="60"><td valign="top" align="left" style="border-top-left-radius:4px;border-top-right-radius:4px;background: white; padding:10px 18px;text-align:center"> <img height="75" width="75" src="https://cdn.discordapp.com/attachments/708550144827719811/792008916451328010/android-chrome-512x512.png" title="CGV" style="font-weight:bold;font-size:18px;color:#fff;vertical-align:top" class="CToWUd"></td></tr><tr width="100%"><td valign="top" align="left" style="background:#fff;padding:18px"><h1 style="font-size:20px;margin:16px 0;color:#333;text-align:center">India’s Largest Online Verification Network</h1><p style="font:15px/1.25em 'Helvetica Neue',Arial,Helvetica;color:#333;text-align:center">Hey, ''' + str(name) + '''</p><div style="background:#f6f7f8;border-radius:3px"> <br><center><p style="font-family: 'Trebuchet MS', 'Lucida Sans Unicode', 'Lucida Grande', 'Lucida Sans', Arial, sans-serif;">Password : '''+str(passwordemial)+'''</p><center><p style="font:15px/1.25em 'Helvetica Neue',Arial,Helvetica;margin-bottom:0;text-align:center"> <a href="'''
                content2 = json["site_url"] + '''/login" style="border-radius:3px;background:#3aa54c;color:#fff;display:block;font-weight:700;font-size:16px;line-height:1.25em;margin:24px auto 6px;padding:10px 18px;text-decoration:none;width:180px" target="_blank">Login Now!</a></p> <br><br></div><p style="font:14px/1.25em 'Helvetica Neue',Arial,Helvetica;color:#333"> <strong>What's CGV?</strong> We generate and verify certificates online which also includes a backend dashboard. Click to know more. <a href="https://cgvcertify.herokuapp.com" style="color:#306f9c;text-decoration:none;font-weight:bold" target="_blank">Learn more »</a></p></td></tr></tbody></table></td></tr></tbody></table></body></html>'''
                content = content1 + content2
                message = Mail(
                    from_email=('*****@*****.**', 'Security Bot CGV'),
                    to_emails=email,
                    subject=subject,
                    html_content=content)
                try:
                    sg = SendGridAPIClient(json['sendgridapi'])
                    response = sg.send(message)
                    flash("You will receive a mail shortly. Password rested successfully!", "success")
                except Exception as e:
                    print(e.message)
        elif(post==None):
                flash("We didn't find your account!", "danger")
                return render_template('forgot-password.html', json=json)

    return render_template('forgot-password.html', json=json)
コード例 #10
0
ファイル: interface1.py プロジェクト: leandrozitroc/senhas
    def gerarsenha(self):

        pwo = PasswordGenerator()
        pwo.minlen = 8
        pwo.maxlen = 12

        pw = pwo.generate()
        return pw
コード例 #11
0
 def random_password(self):
     selected_item = self.get_selected_lw_item()
     if selected_item:
         pwo = PasswordGenerator()
         pwo.minlen = 8  # (Optional)
         pwo.maxlen = 16  # (Optional)
         pwo = pwo.generate()
         self.le_password.setText(pwo)
コード例 #12
0
def main():
	pwo = PasswordGenerator()
	pwo.minlen = 16 # (Optional)
	pwo.maxlen = 16 # (Optional)
	pwo.minuchars = 4 # (Optional)
	pwo.minlchars = 4 # (Optional)
	pwo.minnumbers = 8 # (Optional)
	pwo.minschars = 0 # (Optional)
	passwd = pwo.generate()
コード例 #13
0
 def password(self):
     """Create & return a 16-30 char alphanumeric password."""
     pwo = PasswordGenerator()
     pwo.minlen = 16
     pwo.maxlen = 30
     pwo.minuchars = 1
     pwo.minlchars = 1
     pwo.minnumbers = 1
     pwo.minschars = 1
     return pwo.generate()
コード例 #14
0
async def password(e):
    if environ.get("isSuspended") == "True":
        return
    query = e.pattern_match.group(1)
    size = re.findall(r'\d+', query)
    pwo = PasswordGenerator()
    pwo.minlen = int(size[0])
    pwo.maxlen = int(size[0])
    passw = pwo.generate()
    await e.edit(f"`{passw}`")
コード例 #15
0
def randoms():
    pwo = PasswordGenerator()
    pwo.minlen = 8  # (Optional)
    pwo.maxlen = 8  # (Optional)
    pwo.minuchars = 2  # (Optional)
    pwo.minlchars = 3  # (Optional)
    pwo.minnumbers = 1  # (Optional)
    pwo.minschars = 1  # (Optional)

    password_string = pwo.generate()
    return password_string
コード例 #16
0
def generator():
    try:
        data = request.args
        opts = password_options_schema.load(data)
        generator = PasswordGenerator(opts)
        password = generator.generate()

        return jsonify(password), 200

    except ValidationError as err:
        return err.messages, 400
コード例 #17
0
def pass_generator():
    pwo = PasswordGenerator()
    pwo.minlen = 6  # (Minimum Length)
    pwo.maxlen = 12  # (Maximum Length)
    pwo.minuchars = 2  # (Minimum Upper Case Characters)
    pwo.minlchars = 2  # (Minimum Lower Case Characters)
    pwo.minnumbers = 2  # (Minimum Numbers)
    pwo.minschars = 3  # (Minimum special characters)
    pass_wd = pwo.generate()
    print(f'Recommended Password : {pass_wd}')
    print("-" * 100)
コード例 #18
0
    def generate_password():
        pwo = PasswordGenerator(
        )  # pwo, a PasswordGenerator object, is in charge of generating a new random password
        pwo.minlen = 15  # Sets the password length to 15 characters
        pwo.maxlen = 15
        new_password = pwo.generate()  # Generates a random password

        print("Newly generated password: {}".format(new_password))
        print(
            "NOTE: Make sure you copy this password before you create your new account"
        )
        return new_password  # returns the generated password
コード例 #19
0
ファイル: main.py プロジェクト: morontt/passwogen
    def post(self):

        generator = PasswordGenerator(self.request.get('salt'), self.request.get('domain'))

        template_variables = {
            'result': True,
            'salt': generator.salt,
            'domain': generator.domain,
            'password': generator.generate(),
        }

        path = os.path.join(os.path.dirname(__file__), 'index.html')
        self.response.out.write(template.render(path, template_variables))
コード例 #20
0
ファイル: pwd.py プロジェクト: ronidas39/ACTIVE_DIRECTOTY_BOT
def change_pwd(msg_text):
    
    q=pyad.adquery.ADQuery()
    q.execute_query(attributes=['distinguishedname','mobile','cn'],where_clause="samaccountname='{}'".format(msg_text))
    x=bool(q.get_results())
    if(str(x)=='True'):
        for row in q.get_results():
            cn=row['distinguishedname']
    aduser=pyad.aduser.ADUser.from_dn(cn)
    pwo= PasswordGenerator()
    pwd='Tt' +pwo.generate()
    pyad.aduser.ADUser.set_password(aduser,pwd)
    return(pwd)
           
コード例 #21
0
def create_new_user(hashed_email: str) -> User:
    random_username = generate_username(1)[0]
    random_username = random_username.lower()
    pwo = PasswordGenerator()
    pwo.minlen = 30 # (Optional)
    pwo.maxlen = 30 # (Optional)
    pwo.minuchars = 2 # (Optional)
    pwo.minlchars = 3 # (Optional)
    pwo.minnumbers = 1 # (Optional)
    pwo.minschars = 0 # (Optional)
    pwo.excludeschars = "!$%^*:="
    random_password = pwo.generate()
    random_email = f'{random_username}@example.com'
    return add_user(f'{random_username}', random_password, random_email, '', hashed_email, exitOnFailure=False)
コード例 #22
0
def addadmins(request):
    global sadmintoken
    id = int(request.POST["id"])
    name = request.POST["name"]
    cname = request.POST["cname"]
    pwo = PasswordGenerator()
    pword = pwo.generate()

    params = dict(uid=id, username=name, password=pword, clubname=cname)
    response = requests.post(
        'http://localhost:5000/addclub',
        data=params,
        headers={'Authorization': f'Bearer {sadmintoken}'})
    print(response)
    return redirect(viewadmin)
コード例 #23
0
def gerarsenha():
    pwo= PasswordGenerator()
    pwo.minlen = 8
    pwo.maxlen = 12

    pw = pwo.generate()
    print(f'\33[1;35m A senha segura que o sistema gerou foi:\33[m \33[1;33m{pw} \33[m')
    colar = input('\33[1;34m Deseja mandar a senha gerada a área de transferencia? S ou N :\33[m').lower()
    if colar == 'n':
        print('Ok')
    elif colar == 's':
        pyperclip.copy(pw)
        print('\33[1;32m Senha copiada com sucesso!\33[m')
    else:
        print('\33[1;31m Digita S para sim e N para não\33[m')
コード例 #24
0
ファイル: objects.py プロジェクト: sirejik/demo-projects
def create_account(session):
    account = Account(first_name=names.get_first_name(),
                      last_name=names.get_last_name())
    session.add(account)

    password_generator = PasswordGenerator()
    authentication = Authentication(account=account,
                                    login='******'.format(
                                        account.first_name,
                                        account.last_name).lower(),
                                    password=password_generator.generate())
    session.add(authentication)

    session.commit()
    return account
コード例 #25
0
ファイル: views.py プロジェクト: VGKLahari/SkillUp-Team-06
def addadmins(request):
    global sadmintoken
    global params
    if(request.session['suserid']):
        id=int(request.POST["id"])
        name=request.POST["name"]
        cname=request.POST["cname"]
        pwo=PasswordGenerator()
        pword=pwo.generate()
        params = dict(uid=id,username=name,password=pword,clubname=cname)
        response=requests.post('http://localhost:5000/addclub',data=params,headers ={'Authorization':f'Bearer {sadmintoken}'})
        #print(response)
        if 'message' not in response:
            return redirect(mailadmin)
        else:
            return HttpResponse(response['message'])
    else:
        return redirect(index)
コード例 #26
0
    def post(self, request):
        regex = '^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$'
        valid_emails = []
        pwo = PasswordGenerator()
        pwo.minlen = 20
        pwo.maxlen = 20
        pwo.minuchars = 3
        pwo.minlchars = 3
        pwo.minnumbers = 5
        pwo.minschars = 3
        pwo.excludeschars = ".,;:"

        for email in request.data['list']:
            if (re.search(regex, email)):
                queryset = Organization.objects.filter(
                    id=request.data['org_id'])
                org = get_object_or_404(queryset, )
                password = pwo.generate()
                store_invited_email = InvitedUser.objects.create(
                    email=email, password=password, organization_id=org)
                send_mail(
                    'Login Credentials',
                    f'''
                Good day!
                You've been invited to join {org} at Connectico. Please use the given credentials to login at 127.0.0.1:4200.
                
                Email: {email}
                Password: {password}

                Regards,
                Connectico Team
                ''',
                    'Connectico Team',
                    [email],
                    fail_silently=False,
                )
                valid_emails.append(email)
            else:
                print('Discarded', email)

        return Response(valid_emails)
コード例 #27
0
def user_generator(n=10):
    df = {
        'username': [],
        'email': [],
        'password': [],
        'first_name': [],
        'last_name': [],
        'is_active': [],
        'is_superuser': [],
        'is_staff': [],
        'hr_id': [],
        'sb_id': [],
        'tg_id': [],
    }
    for i in range(n):
        first_name = names.get_first_name()
        last_name = names.get_last_name()
        username = first_name + '_' + last_name
        email = username + str(random.randint(10,
                                              99)) + random.choice(email_end)

        pw = PasswordGenerator()
        pw.maxlen = 10
        pw.minlen = 10
        password = pw.generate()

        df['username'].append(username)
        df['email'].append(email)
        df['password'].append(password)
        df['first_name'].append(first_name)
        df['last_name'].append(last_name)
        df['is_active'].append(True)
        df['is_superuser'].append(False)
        df['is_staff'].append(False)
        df['hr_id'].append(90000 + i)
        df['sb_id'].append(10000 + i)
        df['tg_id'].append(random.randint(10000000, 99999999))
    return df
コード例 #28
0
def create_user_object_file2():
    password = PasswordGenerator()
    password.excludeschars = "!$%^{}[]()=/"
    count = 0
    dup = []
    for test in csv2:
        user = User.objects.filter(username=test[23])
        if count == 0:
            pass
            count = count + 1
        elif count == 1000:
            break
        elif len(user) >= 1:
            pass
        else :
            passw = password.generate()
            print(test[23],passw+'\n')
            User.objects.create(username=test[23])
            user = User.objects.get(username=test[23])
            user.set_password(passw)
            user.save()
            dup.append(test[23])
            count = count + 1
コード例 #29
0
    def initDB(dbName="ama", roleName="attacker"):
        """
        Database initialization
        (creation of database, role, and initialization of default workspace)
        """
        try:
            #cmd2.Cmd.poutput(f"Creating {roleName} role")
            print_status(f"Creating role:  {ColorStr(roleName).StyleBRIGHT}")

            password = getpass(
                prompt=
                f"Password for {ColorStr(roleName).StyleBRIGHT} role (empty for random generation): "
            )
            if not password:
                passwd = PasswordGenerator()
                passwd.minlen = 16
                passwd.maxlen = 16
                passwd.minnumbers = 2
                passwd.minschars = 3
                passwd.minuchars = 2

                password = passwd.generate()

            Bash.exec(
                f"psql -U postgres -c \"CREATE ROLE {roleName} WITH LOGIN CREATEDB PASSWORD '{password}'\"",
                quiet=True)
            Bash.exec(
                f"psql -U postgres -c \"CREATE DATABASE {roleName} OWNER {roleName}\"",
                quiet=True)
            #cmd2.Cmd.poutput(f"Role {roleName} has been created")
            print_successful(
                f"Role {ColorStr(roleName).StyleBRIGHT} has been created")

            #cmd2.Cmd.poutput(f"Creating {dbName} database")
            print_status(f"Creating {ColorStr(dbName).StyleBRIGHT} database")
            Bash.exec(
                f"psql -U {roleName} -c \"CREATE DATABASE {dbName} OWNER {roleName}\"",
                quiet=True)
            #cmd2.Cmd.poutput("Database {dbName} has been created")

            # creation workspaces table
            dbCredential = {
                'host': 'localhost',
                'database': dbName,
                'user': roleName,
                'password': password
            }
            workspace = "default"

            tablesCreation = ("""
                CREATE TABLE IF NOT EXISTS workspaces (
                name VARCHAR (100) UNIQUE NOT NULL
                )
                """, f"""
                CREATE TABLE IF NOT EXISTS hashes_{workspace} (
                hash VARCHAR (128) UNIQUE NOT NULL,
                type VARCHAR (20),
                cracker VARCHAR (20) NOT NULL,
                password VARCHAR (32) NOT NULL
                )
                """, f"""
                CREATE TABLE IF NOT EXISTS services_{workspace} (
                service VARCHAR (20) NOT NULL,
                target VARCHAR (15) NOT NULL,
                service_user VARCHAR (20) NOT NULL,
                password VARCHAR (32) NOT NULL
                )
                """)

            valueInsert = ("""
                INSERT INTO workspaces (name)
                VALUES (%s);
                """)

            conn = None
            conn = psycopg2.connect(**dbCredential)
            cur = conn.cursor()
            # workspace table creation and
            # hashes and services tables creation for "default" workspace
            for cmdTable in tablesCreation:
                cur.execute(cmdTable)
            conn.commit()
            # default workspace insertion
            cur.execute(valueInsert, (workspace, ))
            conn.commit()
            cur.close()
            print_successful(
                f"Database {ColorStr(dbName).StyleBRIGHT} has been created")

            #import pdb; pdb.set_trace()
            # writing credential to AMA_HOME/db/database.json file
            database_json_file = Path.joinpath(AMA_HOME, 'db/database.json')
            with open(database_json_file, 'w') as db_credentials:
                json.dump(dbCredential, db_credentials, indent=4)

            print_successful(
                f"Database credential file has been created: {ColorStr(database_json_file).StyleBRIGHT}"
            )
            del dbCredential

        except (Exception, psycopg2.DatabaseError) as error:
            print_failure(error)
コード例 #30
0
ファイル: credentials.py プロジェクト: aenniw/ESP8266
def gen_password(len=8):
    pwo = PasswordGenerator()
    pwo.minlen = len
    pwo.maxlen = len
    return pwo.generate()
コード例 #31
0
def generate_password():
    password = PasswordGenerator()
    password.excludeschars = "!$%^,>+.*_-()#&~`?="
    return password.generate()