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()
Beispiel #2
0
 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()
Beispiel #4
0
    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
Beispiel #5
0
 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
Beispiel #6
0
 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
Beispiel #7
0
 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
Beispiel #8
0
 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
Beispiel #10
0
 def auth_password(self, other_password):
     if self._password:
         return self.login_password == PBKDF2.crypt(other_password, self.login_password)
     else:
         return False
Beispiel #11
0
 def _hash_password(cls, password):
     return PBKDF2.crypt(password, iterations=ITERATE)
Beispiel #12
0
 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':
Beispiel #14
0
 def _hash_password(cls, password):
     return PBKDF2.crypt(password + STATIC_SALT, iterations=ITERATE)
Beispiel #15
0
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",
Beispiel #16
0
 def _hash_password(self, password):
     return PBKDF2.crypt(password)
Beispiel #17
0
 def _hash_password(self, password):
     return PBKDF2.crypt(password, iterations=0x2537)
Beispiel #18
0
 def hash_password(self, raw_pwd):
     return PBKDF2.crypt(raw_pwd, iterations=0x2537)
Beispiel #19
0
 def _hash_password(cls, password):
     return PBKDF2.crypt(password, iterations=ITERATE)
Beispiel #20
0
 def check_password(self, raw_pwd):
     if not raw_pwd:
         return None
     return self._password == PBKDF2.crypt(raw_pwd, self.password)