• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Python security.generate_password_hash函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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



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


示例16: __init__

 def __init__(self, name, desc="Test", ttl=-1, sub_passwd="",
              pub_passwd=None, exam_passwd=None):
     self.name = name
     self.desc = desc
     self._ttl = ttl
     self.sub_passwd = generate_password_hash(sub_passwd)
     self.pub_passwd = generate_password_hash(pub_passwd) \
         if pub_passwd else None
     self.exam_passwd = generate_password_hash(exam_passwd) \
         if exam_passwd else None
开发者ID:YangJinWen,项目名称:gdanmaku-server,代码行数:10,代码来源:channel_manager.py


示例17: create_users

def create_users():
	try:
		user1 = Users(username='user1', email='[email protected]',
						password=generate_password_hash('user1234'))
		user2 = Users(username='user2', email='[email protected]',
						password=generate_password_hash('user221234'))
		db.session.add(user1)
		db.session.add(user2)
		db.session.commit()
	except Exception as err:
		print("-- user creation failed..")
		print(err)
开发者ID:nups111,项目名称:recordly,代码行数:12,代码来源:db_utils.py


示例18: registro

def registro():

    datos=request.form
    nombre=datos["nombre"]
    apellidos=datos["apellidos"]
    telefono=datos["telefono"]
    pueblo=datos["pueblo"]
    correo=datos["correo"]
    passwd= generate_password_hash(datos["password"])# check_password_hash(pw_hash, password)
    #verificar datos aqui:
    #el pueblo existe
    errores=list()
    if(len(datos["password"])<6):
        errores.append("Contraseña demasiado corta")
    if(getIdPueblo(pueblo)=="ERROR"):
        errores.append("error: pueblo no existente: "+pueblo)
    #el correo es valido
    if not validate_email(correo):#paranoya: verify=True revisar que el correo existe
        errores.append("error: correo no valido: "+correo)
    #el telefono es valido
    regexpTelefono = re.compile("^[9|6|7][0-9]{8}$")
    if not regexpTelefono.match(telefono):
        errores.append("error: telefono no valido: "+telefono)
    #verificar que el usuario no está registrado:
    consultaCorreoUnico='SELECT correo FROM `usuarios` WHERE `correo` LIKE \''+correo+'\''
    conexionRegistro=conexion.conectar()
    cursorRegistro=conexionRegistro.cursor()
    cursorRegistro.execute(consultaCorreoUnico)
    for mail in cursorRegistro:
         errores.append("Ya existe un usuario con este correo")


    #En caso de error devolver una lista con los errores
    if(len(errores)>0):
        return errores

    #No hace falta else: hacemos un return

    #Generar token para el usuario en caso de exito

    token=generate_password_hash("TOKEN++"+passwd+datos["password"]+correo)

    #insertar datos en la base de datos
    insertarUsuario="INSERT INTO `usuarios` (`id_usuario`, `nombre`, `apellidos`, `telefono`, `pueblo_origen`, `pass`, `correo`, `token`) VALUES (NULL, \'" +\
    nombre+"\',\'"+apellidos+"\',\'"+telefono+"\',"+getIdPueblo(pueblo)+",\'"+passwd+"\',\'"+correo+"\',\'"+token+"\');"
    #print(insertarUsuario)
    cursorRegistro.execute(insertarUsuario)
    conexionRegistro.commit()
    conexionRegistro.close()

    #devolver {"token":token}
    return {"exito":True,"token":token}
开发者ID:gabboman,项目名称:api_auto-meet,代码行数:52,代码来源:server.py


示例19: sign_up

def sign_up():
    if request.method == 'GET':
        return render_template('sign_up.html', signup_form=RegistrationForm(), hide=True)
    else:
        rf = RegistrationForm(request.form)
        if rf.validate_on_submit():
            users = db.userprofiles
            users.insert({'username': rf.username.data, 'password':generate_password_hash(rf.password.data), 'email':rf.email.data,
                'first_name':rf.first_name.data, 'last_name':rf.last_name.data, 'competencies':[], 'compfwks':[], 'lrsprofiles':[]})
            
            user = User(rf.username.data, generate_password_hash(rf.password.data))
            login_user(user)
            return redirect(url_for('index'))
        return render_template('sign_up.html', signup_form=rf, hide=True)
开发者ID:damonregan,项目名称:xci,代码行数:14,代码来源:views.py


示例20: __init__

    def __init__(self, name, desc="Test", timeout=5, ttl=-1,
                 sub_passwd="", pub_passwd=None):
        self.name = name
        self.desc = desc
        self.timeout = timeout
        self.gc_time = datetime.now() + timedelta(hours=ttl) \
            if ttl > 0 else None

        self.sub_passwd = generate_password_hash(sub_passwd)
        self.pub_passwd = generate_password_hash(pub_passwd) \
            if pub_passwd else None

        self.subscribers = {"ALL": Subscriber("ALL")}
        self.lock = gevent.lock.RLock()
开发者ID:126ium,项目名称:gdanmaku-server,代码行数:14,代码来源:channel_manager.py



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Python security.safe_str_cmp函数代码示例发布时间:2022-05-26
下一篇:
Python security.gen_salt函数代码示例发布时间:2022-05-26
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap