%PDF- %PDF-
| Direktori : /lib/python3.9/site-packages/passlib/crypto/__pycache__/ |
| Current File : //lib/python3.9/site-packages/passlib/crypto/__pycache__/des.cpython-39.opt-1.pyc |
a
f�Wc�� � @ s� d Z ddlZddlmZ ddlmZmZmZmZmZ ddgZ dZ
dZd Zd
Z
dZdZd a a aad
d� Zdd� Ze�d�Zdd� Zdd� Zdd� Zdd� Zeddd�Zdd� Zdd� Zd#d d�Zd$d!d"�Z dS )%a� passlib.crypto.des -- DES block encryption routines
History
=======
These routines (which have since been drastically modified for python)
are based on a Java implementation of the des-crypt algorithm,
found at `<http://www.dynamic.net.au/christos/crypt/UnixCrypt2.txt>`_.
The copyright & license for that source is as follows::
UnixCrypt.java 0.9 96/11/25
Copyright (c) 1996 Aki Yoshida. All rights reserved.
Permission to use, copy, modify and distribute this software
for non-commercial or commercial purposes and without fee is
hereby granted provided that this copyright notice appears in
all copies.
---
Unix crypt(3C) utility
@version 0.9, 11/25/96
@author Aki Yoshida
---
modified April 2001
by Iris Van den Broeke, Daniel Deville
---
Unix Crypt.
Implements the one way cryptography used by Unix systems for
simple password protection.
@version $Id: UnixCrypt2.txt,v 1.1.1.1 2005/09/13 22:20:13 christos Exp $
@author Greg Wilkins (gregw)
The netbsd des-crypt implementation has some nice notes on how this all works -
http://fxr.googlebit.com/source/lib/libcrypt/crypt.c?v=NETBSD-CURRENT
� N)�exc)�join_byte_values�byte_elem_value�iranger � int_types�expand_des_key�des_encrypt_blocki��� l ����l ���� l �~�}�{�w l l ���s�g c C sP d} d}d}| |f||f||f||f||f||f||f||ffa dadadadS )z3delay loading tables until they are actually needed))r r � r � r
� r � r � $ r
� r � $ r )r � � l � l � l � @ l @ l @ l @ l D l D l D l D )r r �@ r � r �@ r � r �@ r � r �@ r )r � � @l @� l l Hl H� l l @ l @ l l l H l H )r r � r � r! � r"