當前位置: 首頁>>代碼示例>>Python>>正文


Python crypt.crypt方法代碼示例

本文整理匯總了Python中crypt.crypt方法的典型用法代碼示例。如果您正苦於以下問題:Python crypt.crypt方法的具體用法?Python crypt.crypt怎麽用?Python crypt.crypt使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在crypt的用法示例。


在下文中一共展示了crypt.crypt方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。

示例1: setUp

# 需要導入模塊: import crypt [as 別名]
# 或者: from crypt import crypt [as 別名]
def setUp(self):
        self.admin = credentials.UsernamePassword('admin', 'asdf')
        self.alice = credentials.UsernamePassword('alice', 'foo')
        self.badPass = credentials.UsernamePassword('alice', 'foobar')
        self.badUser = credentials.UsernamePassword('x', 'yz')
        self.checker = strcred.makeChecker('unix')

        # Hack around the pwd and spwd modules, since we can't really
        # go about reading your /etc/passwd or /etc/shadow files
        if pwd:
            database = UserDatabase()
            for username, password in self.users.items():
                database.addUser(
                    username, crypt.crypt(password, 'F/'),
                    1000, 1000, username, '/home/' + username, '/bin/sh')
            self.patch(pwd, 'getpwnam', database.getpwnam)
        if spwd:
            self._spwd_getspnam = spwd.getspnam
            spwd.getspnam = self._spwd 
開發者ID:proxysh,項目名稱:Safejumper-for-Desktop,代碼行數:21,代碼來源:test_strcred.py

示例2: kullaniciOlustur

# 需要導入模塊: import crypt [as 別名]
# 或者: from crypt import crypt [as 別名]
def kullaniciOlustur(isim,kullisim,kullsifre):
    #encPass = crypt.crypt(kullsifre,"22")   
    #os.system("useradd -p "+encPass+ " -s "+ "/bin/bash "+ "-d "+ "/home/" + kullisim+ " -m "+ " -c \""+ name+"\" " + kullisim)
	os.system("kopar milislinux-"+isim+" "+kullisim)
	os.system('echo -e "'+kullsifre+'\n'+kullsifre+'" | passwd '+kullisim)
	#masaustu ve diğer ayarların aktarılması
	ayar_komut="cp -r /root/.config /home/"+kullisim+"/"
	os.system(ayar_komut)
	ayar_komut2="cp -r /root/.xinitrc /home/"+kullisim+"/"
	os.system(ayar_komut2)
	ayar_komut3="chown "+kullisim+":"+kullisim+" -R /home/"+kullisim
	os.system(ayar_komut3)
	saat_komut="saat_ayarla_tr"
	os.system(saat_komut)
	d.infobox(text=kullisim+" kullanıcısı başarıyla oluşturuldu.")
	time.sleep(1) 
開發者ID:milisarge,項目名稱:malfs-milis,代碼行數:18,代碼來源:kurulum.py

示例3: validate_authentication

# 需要導入模塊: import crypt [as 別名]
# 或者: from crypt import crypt [as 別名]
def validate_authentication(self, username, password, handler):
            """Authenticates against shadow password db; raises
            AuthenticationFailed in case of failed authentication.
            """
            if username == "anonymous":
                if self.anonymous_user is None:
                    raise AuthenticationFailed(self.msg_anon_not_allowed)
            else:
                try:
                    pw1 = spwd.getspnam(username).sp_pwd
                    pw2 = crypt.crypt(password, pw1)
                except KeyError:  # no such username
                    raise AuthenticationFailed(self.msg_no_such_user)
                else:
                    if pw1 != pw2:
                        raise AuthenticationFailed(self.msg_wrong_password) 
開發者ID:aliyun,項目名稱:oss-ftp,代碼行數:18,代碼來源:authorizers.py

示例4: get_hexdigest

# 需要導入模塊: import crypt [as 別名]
# 或者: from crypt import crypt [as 別名]
def get_hexdigest(algorithm, salt, raw_password):
    """
    Returns a string of the hexdigest of the given plaintext password and salt
    using the given algorithm ('md5', 'sha1' or 'crypt').
    """
    raw_password, salt = smart_str(raw_password), smart_str(salt)
    if algorithm == 'crypt':
        try:
            import crypt
        except ImportError:
            raise ValueError('"crypt" password algorithm not supported in this environment')
        return crypt.crypt(raw_password, salt)

    if algorithm == 'md5':
        return hashlib.md5(salt + raw_password).hexdigest()
    elif algorithm == 'sha1':
        return hashlib.sha1(salt + raw_password).hexdigest()
    elif algorithm == 'sha256':
        return hashlib.sha256(salt + raw_password).hexdigest()
    raise ValueError("Got unknown password algorithm type in password.") 
開發者ID:restran,項目名稱:fomalhaut-panel,代碼行數:22,代碼來源:models.py

示例5: setUp

# 需要導入模塊: import crypt [as 別名]
# 或者: from crypt import crypt [as 別名]
def setUp(self):
        self.admin = credentials.UsernamePassword('admin', 'asdf')
        self.alice = credentials.UsernamePassword('alice', 'foo')
        self.badPass = credentials.UsernamePassword('alice', 'foobar')
        self.badUser = credentials.UsernamePassword('x', 'yz')
        self.checker = strcred.makeChecker('unix')
        self.adminBytes = credentials.UsernamePassword(b'admin', b'asdf')
        self.aliceBytes = credentials.UsernamePassword(b'alice', b'foo')
        self.badPassBytes = credentials.UsernamePassword(b'alice', b'foobar')
        self.badUserBytes = credentials.UsernamePassword(b'x', b'yz')
        self.checkerBytes = strcred.makeChecker('unix')

        # Hack around the pwd and spwd modules, since we can't really
        # go about reading your /etc/passwd or /etc/shadow files
        if pwd:
            database = UserDatabase()
            for username, password in self.users.items():
                database.addUser(
                    username, crypt.crypt(password, 'F/'),
                    1000, 1000, username, '/home/' + username, '/bin/sh')
            self.patch(pwd, 'getpwnam', database.getpwnam)
        if spwd:
            self.patch(spwd, 'getspnam', self._spwd_getspnam) 
開發者ID:wistbean,項目名稱:learn_python3_spider,代碼行數:25,代碼來源:test_strcred.py

示例6: verifyCryptedPassword

# 需要導入模塊: import crypt [as 別名]
# 或者: from crypt import crypt [as 別名]
def verifyCryptedPassword(crypted, pw):
    """
    Use L{crypt.crypt} to Verify that an unencrypted
    password matches the encrypted password.

    @param crypted: The encrypted password, obtained from
                    the Unix password database or Unix shadow
                    password database.
    @param pw: The unencrypted password.
    @return: L{True} if there is successful match, else L{False}.
    @rtype: L{bool}
    """
    try:
        import crypt
    except ImportError:
        crypt = None

    if crypt is None:
        raise NotImplementedError("cred_unix not supported on this platform")
    if not isinstance(pw, StringType):
        pw = pw.decode('utf-8')
    if not isinstance(crypted, StringType):
        crypted = crypted.decode('utf-8')
    return crypt.crypt(pw, crypted) == crypted 
開發者ID:wistbean,項目名稱:learn_python3_spider,代碼行數:26,代碼來源:cred_unix.py

示例7: safe_crypt

# 需要導入模塊: import crypt [as 別名]
# 或者: from crypt import crypt [as 別名]
def safe_crypt(secret, hash):
            if isinstance(secret, bytes):
                # Python 3's crypt() only accepts unicode, which is then
                # encoding using utf-8 before passing to the C-level crypt().
                # so we have to decode the secret.
                orig = secret
                try:
                    secret = secret.decode("utf-8")
                except UnicodeDecodeError:
                    return None
                assert secret.encode("utf-8") == orig, \
                            "utf-8 spec says this can't happen!"
            if _NULL in secret:
                raise ValueError("null character in secret")
            if isinstance(hash, bytes):
                hash = hash.decode("ascii")
            result = _crypt(secret, hash)
            if not result or result[0] in _invalid_prefixes:
                return None
            return result 
開發者ID:gurnec,項目名稱:btcrecover,代碼行數:22,代碼來源:__init__.py

示例8: test_interleaving

# 需要導入模塊: import crypt [as 別名]
# 或者: from crypt import crypt [as 別名]
def test_interleaving(container):
    # make sure we can interleave calls of different API objects
    password = crypt("foobar", "salt")

    root = container.vanilla_api(connection='paramiko')
    root.host_key_checking = False

    root.command('useradd --non-unique --uid 0 foo -p ' + password)
    root.command('useradd --non-unique --uid 0 bar -p ' + password)

    foo = container.vanilla_api(
        connection='paramiko', remote_user='foo', remote_pass='foobar')
    bar = container.vanilla_api(
        connection='paramiko', remote_user='bar', remote_pass='foobar')

    foo.host_key_checking = False
    bar.host_key_checking = False

    assert foo.command('id -g').stdout() == '1000'
    assert bar.command('id -g').stdout() == '1001'

    assert foo.command('id -g').stdout() == '1000'
    assert bar.command('id -g').stdout() == '1001' 
開發者ID:seantis,項目名稱:suitable,代碼行數:25,代碼來源:test_api.py

示例9: crypt_salt_is_valid

# 需要導入模塊: import crypt [as 別名]
# 或者: from crypt import crypt [as 別名]
def crypt_salt_is_valid(salt):
    """
        Validate a salt as crypt salt

        :param str salt: a password salt
        :return: ``True`` if ``salt`` is a valid crypt salt on this system, ``False`` otherwise
        :rtype: bool
    """
    if len(salt) < 2:
        return False
    else:
        if salt[0] == '$':
            if salt[1] == '$':
                return False
            else:
                if '$' not in salt[1:]:
                    return False
                else:
                    hashed = crypt.crypt("", salt)
                    if not hashed or '$' not in hashed[1:]:
                        return False
                    else:
                        return True
        else:
            return True 
開發者ID:nitmir,項目名稱:django-cas-server,代碼行數:27,代碼來源:utils.py

示例10: _generate_salt

# 需要導入模塊: import crypt [as 別名]
# 或者: from crypt import crypt [as 別名]
def _generate_salt(self):
        # The salt can be generated with crypt.mksalt() on Python 3
        CHARACTERS = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
        salt = ''.join(random.choice(CHARACTERS) for i in range(16))
        # Use SHA512
        return '$6$' + salt 
開發者ID:ParadropLabs,項目名稱:Paradrop,代碼行數:8,代碼來源:password_manager.py

示例11: _retrieve_salt

# 需要導入模塊: import crypt [as 別名]
# 或者: from crypt import crypt [as 別名]
def _retrieve_salt(self, password_hash):
        # Example hashed password
        # python -c 'import crypt; print crypt.crypt("", "$6$cMLi2vqIIJtq1Shm")'
        # $6$cMLi2vqIIJtq1Shm$41Ko1W2aTapn.p12G2dWRrRdStI2CrkC1JsftC/bPmwVgiy0vAQIXuuZEbVenyqsM6vZOsuzFrKrQC9NGd6/p.
        elements = password_hash.split('$')

        if len(elements) != 4:
            return None
        else:
            # Use SHA512
            return '$6$' + elements[2] 
開發者ID:ParadropLabs,項目名稱:Paradrop,代碼行數:13,代碼來源:password_manager.py

示例12: _hash_password

# 需要導入模塊: import crypt [as 別名]
# 或者: from crypt import crypt [as 別名]
def _hash_password(self, password):
        salt = self._generate_salt()
        return crypt.crypt(password, salt) 
開發者ID:ParadropLabs,項目名稱:Paradrop,代碼行數:5,代碼來源:password_manager.py

示例13: verify_password

# 需要導入模塊: import crypt [as 別名]
# 或者: from crypt import crypt [as 別名]
def verify_password(self, user_name, password):
        found_records = filter(lambda x: x['user_name'] == user_name, self.records)
        count = len(found_records)
        if count == 0:
            return False
        elif count == 1:
            password_hash = found_records[0]['password_hash']
            return crypt.crypt(password, self._retrieve_salt(password_hash)) == password_hash
        elif count > 1:
            # Should not be here
            raise Exception('Faint! Is there something wrong?')

    # We need to verify the user with the old password first 
開發者ID:ParadropLabs,項目名稱:Paradrop,代碼行數:15,代碼來源:password_manager.py

示例14: test_hash_type_is_used

# 需要導入模塊: import crypt [as 別名]
# 或者: from crypt import crypt [as 別名]
def test_hash_type_is_used(request, master, python):
    user = WHEEL_CONFIG['user']
    password_salt = '00'
    password = crypt.crypt(WHEEL_CONFIG['password'], password_salt)
    request.addfinalizer(
        partial(master['container'].run, "userdel {0}".format(user)))
    master['container'].run("useradd {0} -p '{1}'".format(user, password))
    raw_output = master['container'].run(
        "{0} tests/scripts/wheel_config_values.py".format(python))
    output = json.loads(str(raw_output.decode()))
    assert output['data']['return']['hash_type'] == "sha384" 
開發者ID:openSUSE,項目名稱:salt-toaster,代碼行數:13,代碼來源:test_package.py

示例15: gen_htpasswd

# 需要導入模塊: import crypt [as 別名]
# 或者: from crypt import crypt [as 別名]
def gen_htpasswd(users_passwords, file_name_suffix=""):
    with open("nginx/.htpasswd" + file_name_suffix, "w") as fh:
        for user, password in users_passwords.items():
            if not password:
                fh.write("\n")
            else:
                fh.write(
                    "%s:%s\n"
                    % (
                        user,
                        crypt.crypt(
                            password, crypt.mksalt(crypt.METHOD_SHA512)
                        ),
                    )
                ) 
開發者ID:mendix,項目名稱:cf-mendix-buildpack,代碼行數:17,代碼來源:nginx.py


注:本文中的crypt.crypt方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。