当前位置: 首页>>代码示例>>Python>>正文


Python security.generate_password_hash函数代码示例

本文整理汇总了Python中werkzeug.security.generate_password_hash函数的典型用法代码示例。如果您正苦于以下问题:Python generate_password_hash函数的具体用法?Python generate_password_hash怎么用?Python generate_password_hash使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了generate_password_hash函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: create

def create():
    """
    Creates and initializes the SQLite database from the schema file.
    """
    with current_app.app_context():
        connect()
        with current_app.open_resource(schema_name, mode="r") as f:
            g.sqlite_connection.cursor().executescript(f.read())

        add_user({
            "username": "admin",
            "password_hash": generate_password_hash("password"),
            "email": "[email protected]",
            "permissions": "administrator"
        })
        add_user({
            "username": "author",
            "password_hash": generate_password_hash("password"),
            "email": "[email protected]",
            "permissions": "author"
        })
        add_category({"name": "Uncategorized"})
        add_post({
            "author": "author",
            "creation_date": str(datetime.now()).split(".")[0],
            "category": category_id("Uncategorized"),
            "title": "Test Post",
            "body": "<p>Your bones don't break, mine do. That's clear. Your cells react to bacteria and viruses differently than mine. You don't get sick, I do. That's also clear. But for some reason, you and I react the exact same way to water. We swallow it too fast, we choke. We get some in our lungs, we drown. However unreal it may seem, we are connected, you and I. We're on the same curve, just on opposite ends.</p><p>The path of the righteous man is beset on all sides by the iniquities of the selfish and the tyranny of evil men. Blessed is he who, in the name of charity and good will, shepherds the weak through the valley of darkness, for he is truly his brother's keeper and the finder of lost children. And I will strike down upon thee with great vengeance and furious anger those who would attempt to poison and destroy My brothers. And you will know My name is the Lord when I lay My vengeance upon thee.</p><p>The path of the righteous man is beset on all sides by the iniquities of the selfish and the tyranny of evil men. Blessed is he who, in the name of charity and good will, shepherds the weak through the valley of darkness, for he is truly his brother's keeper and the finder of lost children. And I will strike down upon thee with great vengeance and furious anger those who would attempt to poison and destroy My brothers. And you will know My name is the Lord when I lay My vengeance upon thee.</p>"
        })
        create_about("New Site", "This is a blank description.")
        create_site_avatar("/static/face.png")
        g.sqlite_connection.commit()
开发者ID:thebetabox,项目名称:orthrus,代码行数:32,代码来源:database.py

示例2: setUp

 def setUp(self):
     ''' Test setup '''
     
     self.browser = Browser('phantomjs')
     
     # if we don't set the window size, we won't be able to interact with UI that might 
     # be hidden because of our media queries with a smaller emulated window
     self.browser.driver.set_window_size(1120, 550)
     
     # set up the tables in the database
     Base.metadata.create_all(engine)
     
     # create an example user
     self.user = User(name = 'capnmorgan', email = '[email protected]',
         password = generate_password_hash('test'))
     session.add(self.user)
     session.commit()
     
     # create a second example user
     self.user = User(name = 'Bob', email = '[email protected]',
         password = generate_password_hash('test'))
     session.add(self.user)
     session.commit()
     
     self.process = multiprocessing.Process(target = app.run, kwargs = { 'port': 7000 })
     self.process.start()
     time.sleep(1)
开发者ID:kolohelios,项目名称:py-ferry,代码行数:27,代码来源:test_acceptance.py

示例3: setUpClass

	def setUpClass(cls):
		conn = MongoClient()
		cls.database = conn['dev_scdb']
		# Add superuser
		cls.s = cls.database.user.insert({'email':'[email protected]',
		    'password': generate_password_hash('123'),
			'roles': ["superusers"],
			'token': generate_token('[email protected]')})
		# Add ordinary user
		cls.u = cls.database.user.insert({'email':'[email protected]',
					'password': generate_password_hash('123'),
					'roles': ["users"],
					'token': generate_token('[email protected]')})
		# simple join string to url
		host = 'http://localhost:9014/api/v2/'
		cls.concat = lambda cls, rp: "{}{}".format(host, rp) # rp = relative path
		cls.LOGIN_URL = "http://localhost:9010/login_api/"
		cls.get_token = lambda cls, token: base64.b64encode("{}:".format(token))
		# get token by POST in webapp (another host)
		def get_token_via_api(cls, identifier, password="123"):
			r = requests.post(cls.LOGIN_URL, json={"identifier": identifier,
				"password": password})
			token_64 = cls.get_token(json.loads(r.text)['message']['token'])
			return token_64
		cls.get_token_api = get_token_via_api
开发者ID:siscomando,项目名称:api,代码行数:25,代码来源:tests.py

示例4: test_password_hashing

    def test_password_hashing(self):
        hash0 = generate_password_hash("default")
        assert check_password_hash(hash0, "default")
        assert hash0.startswith("pbkdf2:sha1:1000$")

        hash1 = generate_password_hash("default", "sha1")
        hash2 = generate_password_hash(u"default", method="sha1")
        assert hash1 != hash2
        assert check_password_hash(hash1, "default")
        assert check_password_hash(hash2, "default")
        assert hash1.startswith("sha1$")
        assert hash2.startswith("sha1$")

        fakehash = generate_password_hash("default", method="plain")
        assert fakehash == "plain$$default"
        assert check_password_hash(fakehash, "default")

        mhash = generate_password_hash(u"default", method="md5")
        assert mhash.startswith("md5$")
        assert check_password_hash(mhash, "default")

        legacy = "md5$$c21f969b5f03d33d43e04f8f136e7682"
        assert check_password_hash(legacy, "default")

        legacy = u"md5$$c21f969b5f03d33d43e04f8f136e7682"
        assert check_password_hash(legacy, "default")
开发者ID:211sandiego,项目名称:calllog211,代码行数:26,代码来源:security.py

示例5: setup_server

def setup_server(manager, session=None):
    """ Sets up and starts/restarts the web service. """
    if not manager.is_daemon:
        return

    web_server_config = manager.config.get('web_server')

    if not web_server_config:
        return

    web_server = WebServer(
            bind=web_server_config['bind'],
            port=web_server_config['port'],
    )

    _default_app.secret_key = get_secret()

    # Create default flexget user
    if session.query(User).count() == 0:
        session.add(User(name="flexget", password=generate_password_hash("flexget")))
        session.commit()
    # Migrate existing user password to be hashed
    elif session.query(User).count() >= 1:
        users = session.query(User).filter(User.name == "flexget").all()
        for user in users:
            if not user.password.startswith('pbkdf2:sha1'):
                user.password = unicode(generate_password_hash(user.password))
        session.commit()

    if web_server.is_alive():
        web_server.stop()

    if _app_register:
        web_server.start()
开发者ID:Marmau,项目名称:Flexget,代码行数:34,代码来源:webserver.py

示例6: checkpassword

 def checkpassword(id,oldpassword,newpassword):
     temp = db.reader.find({id,oldpassword})
     if temp == None:
         return False
     else:
         generate_password_hash(newpassword,str='pbkdf2:sha1',int=8)
         return True
开发者ID:dhruvdutt,项目名称:library-flask,代码行数:7,代码来源:models.py

示例7: on_model_change

    def on_model_change(self, form, model, is_created):
        username = model.get('username')
        password = model.get('password')

        if is_created:
            # if password is blank raise error
            if not password:
                raise ValidationError('Password is required for new users')
            # new user so hash the new password
            model['_id'] = username
            model['password'] = generate_password_hash(
                password, method='pbkdf2:sha256'
            )
        else:
            # existing user, so compare if password is provided and changed
            current = current_app.db.users.find_one({'username': username})
            if password and current.get('password') != password:
                # if a different password provided, hash it
                model['password'] = generate_password_hash(
                    password, method='pbkdf2:sha256'
                )
            else:
                # if password is blank in form, keep the current
                model['password'] = current['password']

        model.pop('csrf_token', None)
        return model
开发者ID:AquaBindi,项目名称:quokka,代码行数:27,代码来源:auth.py

示例8: register

def register():
    if request.method == 'POST' and 'User-Agent' not in request.headers:
        email = request.form['email']
        password = generate_password_hash(request.form['password'])
        name = request.form['name']
        if name and email and password:
            if Users.query.filter_by(email = email).first() is None:
                new_user = Users(name, email, password)
                db.session.add(new_user)
                db.session.commit()
                user = Users.query.filter_by(email = email).first()
                token = user.generate_auth_token(600)  #---visit tutorial on generating this
                return jsonify({'error':'null', 'data':{'token': token.decode('ascii'), 'expires': 600, 'user':{'id': user.id, 'email': user.email, 'name': user.name}, 'message':'success'}})
            if Users.query.filter_by(email = email).first() is not None:
                user = Users.query.filter_by(email = email).first()
                return jsonify({'error': '1', 'data': {'email': user.email}, 'message':'user already exists'})
    form = SignUpForm()
    if request.method == 'POST' and 'User-Agent' in request.headers:
        if form.validate_on_submit():
            email = request.form['email']
            password = generate_password_hash(request.form['password'])
            name = request.form['name']
            new_user = Users(name, email, password)
            db.session.add(new_user)
            db.session.commit()
            # user = Users.query.filter_by(email = email).first()
            # token = user.generate_auth_token(600)  #---visit tutorial on generating this
            return redirect(url_for('login'))
    return render_template(
        'signup.html',
        title='User Signup',
        year=datetime.now().year,
        form=form,
        user=g.user
    )
开发者ID:smartkode,项目名称:info3180-project3-4,代码行数:35,代码来源:views.py

示例9: bootstrap_auth

def bootstrap_auth(app):
    '''Bootstrap all the necessary authentication support if it is enabled.'''
    # Check that the admin credentials are valid.
    if not app.config.get('ADMINISTRATOR'):
        sys.exit('You did not provide an administrator username.')

    if not app.config.get('ADMIN_PASSWORD'):
        sys.exit('You did not provide an administrator password.')

    # Store the credentials of the admin account.
    admin = app.user_storage.find_by_name(app.config['ADMINISTRATOR'])
    if admin is None:
        pwhash = security.generate_password_hash(app.config['ADMIN_PASSWORD'])
        # No admin for this account name so create one.
        admin = User(app.config['ADMINISTRATOR'],
                     '',  # The admin does not use email.
                     'password',
                     pwhash)
        app.user_storage.create(admin)
    else:
        # The configuration file may have changed the password so always update
        # the administrator's password.
        pwhash = security.generate_password_hash(app.config['ADMIN_PASSWORD'])
        admin.password_digest = pwhash
        app.user_storage.update(admin)
开发者ID:pyuro,项目名称:markwiki,代码行数:25,代码来源:util.py

示例10: setUp

 def setUp(self):
   """ Test setup """
   self.browser = Browser("phantomjs")
   
   # Set up the tables in the database
   Base.metadata.create_all(engine)
   
   # Create an example user
   self.user = models.User(name="Alice", email="[email protected]", password=generate_password_hash("test"))
   session.add(self.user)
   session.commit()
   
   # Create a second example user
   self.user2 = models.User(name="Carlos", email="[email protected]", password=generate_password_hash("test"))
   session.add(self.user2)
   session.commit()
   
   # Create some sample posts
   content = "A post for acceptance testing"
   for i in range (5):
     post = models.Post(title="Acceptance test post #{}".format(i+1), content=content, author=self.user)
     session.add(post)
   session.commit()
       
   self.process = multiprocessing.Process(target=app.run, kwargs={"host": "0.0.0.0", "port": 8080})
   self.process.start()
   time.sleep(1)
开发者ID:bharbron,项目名称:blogful,代码行数:27,代码来源:test_views_acceptance.py

示例11: setUp

 def setUp(self):
   """ Test Setup """
   self.browser = Browser("phantomjs")
   self.browser.driver.set_window_size(1440, 900) # set browser size.
   
   # set up the tables in the database
   Base.metadata.create_all(engine)
   
   # create 2 example users
   self.user = models.User(name="Alice", email="[email protected]", password=generate_password_hash("test"))
   session.add(self.user)
   session.commit()
   
   self.user2 = models.User(name="Ryan", email="[email protected]", password=generate_password_hash("test"))
   session.add(self.user2)
   session.commit()
   
   # Create some sample posts
   content = "Acceptance testing content"
   for i in range (5):
     post = models.Post(title="Acceptance test post #{}".format(i+1), content=content, author=self.user)
     session.add(post)
   session.commit()    
   
   """ gives the ability to start and run other code simultaneously with your own scripts """
   self.process = multiprocessing.Process(target=app.run)
   self.process.start()
   # pause for 1 second
   time.sleep(1)
开发者ID:macinnis82,项目名称:blogful,代码行数:29,代码来源:test_views_acceptance.py

示例12: test_identify

    def test_identify(self):
        password = self.generate_password()

        # Identify hashes generated by werkzeug
        passlib_hash = generate_password_hash(password, method=self.werkzeug_method)
        self.assertEqual(self.passlib.identify(passlib_hash), self.passlib_method)

        # Identify hashes generated by other werkzeug methods
        diff_werkzeug_method = random.choice([method for method in WERKZEUG_METHODS if method not in [self.werkzeug_method]])
        passlib_hash = generate_password_hash(password, method=diff_werkzeug_method)
        self.assertNotEqual(self.passlib.identify(passlib_hash), self.passlib_method)

        # Identify hashes generated by werkzeug with varying salt length
        passlib_hash = generate_password_hash(password, method=self.werkzeug_method, salt_length=self.salt_length + 1)
        self.assertEqual(self.passlib.identify(passlib_hash), self.passlib_method)

        # Identify hashes generated by itself
        passlib_hash = self.passlib.encrypt(password, method=self.passlib_method)
        self.assertEqual(self.passlib.identify(passlib_hash), self.passlib_method)

        # Identify hashes generated by other methods
        diff_passlib_method = random.choice([method for method in PASSLIB_METHODS if method not in [self.passlib_method]])
        passlib_hash = self.passlib.encrypt(password, method=diff_passlib_method)
        self.assertNotEqual(self.passlib.identify(passlib_hash), self.passlib_method)

        # Identify hashes generated by itself with varying salt length
        passlib_hash = self.passlib.encrypt(password, method=self.passlib_method, salt_length=self.salt_length + 1)
        self.assertEqual(self.passlib.identify(passlib_hash), self.passlib_method)
开发者ID:allanlei,项目名称:flask-passlib,代码行数:28,代码来源:tests.py

示例13: general_password

 def general_password(self, password):
     """
     检查密码是否正确
     :param password:
     :return:
     """
     self.password = generate_password_hash(password)
     return generate_password_hash(password)
开发者ID:heartshare,项目名称:walle-web,代码行数:8,代码来源:user.py

示例14: fix_pws

def fix_pws():
    for client in Client.query.all():
        client.password_ = generate_password_hash('test')
        db.session.commit()
    for trainer in Trainer.query.all():
        trainer.password_ = generate_password_hash('test')
        db.session.commit()

    return 'changed!'
开发者ID:kevinandrewbishop,项目名称:flask-template,代码行数:9,代码来源:server.py

示例15: setUp

 def setUp(self):
     self.fixtures = {
         'alice': User(name='Alice', email='[email protected]',
                     password=generate_password_hash('alice')),
         'bob': User(name='Bob', email='[email protected]',
                     password=generate_password_hash('bob'))}
     self.fixtures.update({
         'entry': Entry(title='Test Entry', content='Test Content',
                        author=self.fixtures['alice'])})
     super(TestEditEntry, self).setUp()
开发者ID:barraponto,项目名称:thinkful-blogful,代码行数:10,代码来源:test_views_integration.py


注:本文中的werkzeug.security.generate_password_hash函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。