def post(self, *args, **kwargs): """ Checks submitted username and password """ user = User.by_handle(self.get_argument("account", "")) password_attempt = self.get_argument("password", "") if user is not None: if user.validate_password(password_attempt): if not user.locked: self.successful_login(user) if ( self.config.story_mode and user.logins == 1 and not user.is_admin() ): self.redirect("/user/missions/firstlogin") else: self.redirect("/user") else: self.render( "public/login.html", info=None, errors=["Your account has been locked"], ) else: self.failed_login() else: if password_attempt is not None: PBKDF2.crypt(password_attempt, "BurnTheHashTime") self.failed_login()
def post(self, *args, **kwargs): ''' Checks submitted username and password ''' user = User.by_handle(self.get_argument('account', '')) password_attempt = self.get_argument('password', '') if user is not None: if user.validate_password(password_attempt): if not user.locked: if self.game_started(user): self.successful_login(user) if self.config.story_mode and user.logins == 1 and not user.has_permission( ADMIN_PERMISSION): self.redirect('/user/missions/firstlogin') else: self.redirect('/user') else: self.render('public/login.html', errors=None, info=["The game has not started yet"]) else: self.render('public/login.html', info=None, errors=["Your account has been locked"]) else: self.failed_login() else: if password_attempt is not None: PBKDF2.crypt(password_attempt, "BurnTheHashTime") self.failed_login()
def post(self, *args, **kwargs): """ Checks submitted username and password """ user = User.by_handle(self.get_argument("account", "")) password_attempt = self.get_argument("password", "") if user is not None: if user.validate_password(password_attempt): self.valid_login(user) else: self.failed_login() else: if password_attempt is not None: PBKDF2.crypt(password_attempt, "BurnTheHashTime") self.failed_login()
def stretch_passphrase(self, passphrase, salt): keys = {} sys.stdout.write(strings._('deriving_keys')) sys.stdout.flush() # start with the passphrase key = passphrase # derive a key for each cipher for cipher in common.ciphers: sys.stdout.write(' {0}'.format(cipher)) sys.stdout.flush() # rounds of pbkdf2 and scrypt key = str(PBKDF2.crypt(key, salt.encode('hex'), 100000)) key = scrypt.hash(key, salt, N=2**14, r=8, p=1) if cipher == 'aes256': # AES256 needs 256-bit (32-byte) key keys[cipher] = key[:32] elif cipher == 'blowfish': # Blowfish keys very from 32-448 bits, but we'll use 256-bit (32-byte) key keys[cipher] = key[:32] elif cipher == 'cast5': # CAST5 needs 128-bit (16-byte) key keys[cipher] = key[:16] sys.stdout.write('\n') return keys
def auth_password(self, other_password): #222 if self._password is not None: return self.password == PBKDF2.crypt( other_password, self.password ) #$p5k2$2537$Vxf3JkjY$ptQlKbQKbvSjXx.qLM/xsSq9bv6W1.8l else: return False
def validate_password(self, attempt): ''' Check the password against existing credentials ''' if self._password is not None: return self.password == PBKDF2.crypt( attempt, self.password, ) else: return False
def validate_password(self, attempt): ''' Check the password against existing credentials ''' if self._password is not None: return self.password == PBKDF2.crypt( attempt, self.password, ) else: return False
def post(self, *args, **kwargs): ''' Checks submitted username and password ''' user = User.by_handle(self.get_argument('account', '')) password_attempt = self.get_argument('password', '') if user is not None: if user.validate_password(password_attempt): if not user.locked: self.successful_login(user) if self.config.story_mode and user.logins == 1 and not user.is_admin(): self.redirect('/user/missions/firstlogin') else: self.redirect('/user') else: self.render('public/login.html', info=None, errors=["Your account has been locked"]) else: self.failed_login() else: if password_attempt is not None: PBKDF2.crypt(password_attempt, "BurnTheHashTime") self.failed_login()
def auth_encrypsd(self, other_password): if self._password is not None: return self.password == PBKDF2.crypt(other_password, self.password) # 返回密码匹配的结果 else: return False
def auth_password(self, other_password): if self._password: return self.login_password == PBKDF2.crypt(other_password, self.login_password) else: return False
def _hash_password(cls, password): return PBKDF2.crypt(password, iterations=ITERATE)
def auth_password(self, other_password): if self._password is not None: return self.password == PBKDF2.crypt(other_password) else: return False
import pytest from pbkdf2 import PBKDF2 import random import string import tempfile from two1.bitcoin.crypto import HDKey, HDPrivateKey from two1.bitcoin.utils import bytes_to_str from two1.bitcoin.utils import rand_bytes from two1.blockchain.mock_provider import MockProvider from two1.wallet import exceptions from two1.wallet.two1_wallet import Two1Wallet enc_key_salt = b'\xaa\xbb\xcc\xdd' passphrase = "test_wallet" passphrase_hash = PBKDF2.crypt(passphrase) master_key = "xprv9s21ZrQH143K2dUcTctuNw8oV8e7gi4ZbHFGAnyGJtWwmKbKTbLGtx48DQGzioGDdhVn8zFhJe8hbDdfDnK19ykxjwXLzd6EpxnTqi4zQGN" # nopep8 master_seed = "tuna object element cancel hard nose faculty noble swear net subway offer" mkey_enc, mseed_enc = Two1Wallet.encrypt(master_key=master_key, master_seed=master_seed, passphrase=passphrase, key_salt=enc_key_salt) config = { 'master_key': mkey_enc, 'master_seed': mseed_enc, 'locked':
def _hash_password(cls, password): return PBKDF2.crypt(password + STATIC_SALT, iterations=ITERATE)
import pytest from pbkdf2 import PBKDF2 import random import string import tempfile from two1.bitcoin.crypto import HDKey, HDPrivateKey from two1.bitcoin.utils import bytes_to_str from two1.bitcoin.utils import rand_bytes from two1.blockchain.mock_provider import MockProvider from two1.wallet import exceptions from two1.wallet.two1_wallet import Two1Wallet enc_key_salt = b'\xaa\xbb\xcc\xdd' passphrase = "test_wallet" passphrase_hash = PBKDF2.crypt(passphrase) master_key = "xprv9s21ZrQH143K2dUcTctuNw8oV8e7gi4ZbHFGAnyGJtWwmKbKTbLGtx48DQGzioGDdhVn8zFhJe8hbDdfDnK19ykxjwXLzd6EpxnTqi4zQGN" # nopep8 master_seed = "tuna object element cancel hard nose faculty noble swear net subway offer" mkey_enc, mseed_enc = Two1Wallet.encrypt(master_key=master_key, master_seed=master_seed, passphrase=passphrase, key_salt=enc_key_salt) config = {'master_key': mkey_enc, 'master_seed': mseed_enc, 'locked': True, 'passphrase_hash': passphrase_hash, 'key_salt': bytes_to_str(enc_key_salt), 'account_type': "BIP44BitcoinMainnet",
def _hash_password(self, password): return PBKDF2.crypt(password)
def _hash_password(self, password): return PBKDF2.crypt(password, iterations=0x2537)
def hash_password(self, raw_pwd): return PBKDF2.crypt(raw_pwd, iterations=0x2537)
def _hash_password(cls, password): return PBKDF2.crypt(password, iterations=ITERATE)
def check_password(self, raw_pwd): if not raw_pwd: return None return self._password == PBKDF2.crypt(raw_pwd, self.password)