pyDes | pure python module which implements the DES and Triple-DES | Encryption library

 by   twhiteman Python Version: Current License: MIT

kandi X-RAY | pyDes Summary

kandi X-RAY | pyDes Summary

pyDes is a Python library typically used in Security, Encryption applications. pyDes has build file available, it has a Permissive License and it has low support. However pyDes has 14 bugs and it has 43 vulnerabilities. You can download it from GitHub.

This is a pure python implementation of the DES encryption algorithm. It's pure python to avoid portability issues, since most DES implementations are programmed in C (for performance reasons).

            kandi-support Support

              pyDes has a low active ecosystem.
              It has 138 star(s) with 50 fork(s). There are 8 watchers for this library.
              It had no major release in the last 6 months.
              There are 0 open issues and 14 have been closed. On average issues are closed in 250 days. There are no pull requests.
              It has a neutral sentiment in the developer community.
              The latest version of pyDes is current.

            kandi-Quality Quality

              pyDes has 14 bugs (0 blocker, 0 critical, 5 major, 9 minor) and 57 code smells.

            kandi-Security Security

              pyDes has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
              pyDes code analysis shows 43 unresolved vulnerabilities (0 blocker, 43 critical, 0 major, 0 minor).
              There are 0 security hotspots that need review.

            kandi-License License

              pyDes is licensed under the MIT License. This license is Permissive.
              Permissive licenses have the least restrictions, and you can use them in most projects.

            kandi-Reuse Reuse

              pyDes releases are not available. You will need to build from source code and install.
              Build file is available. You can build the component from source.
              Installation instructions, examples and code snippets are available.
              pyDes saves you 351 person hours of effort in developing the same functionality from scratch.
              It has 839 lines of code, 37 functions and 5 files.
              It has high code complexity. Code complexity directly impacts maintainability of the code.

            Top functions reviewed by kandi - BETA

            kandi has reviewed pyDes and discovered the below as its top functions. This is intended to give you an instant insight into pyDes implemented functionality, and help decide if they suit your requirements.
            • Set the key
            • Safely decode the data
            • Get the IV
            • Get current mode
            • Sets the mode
            • Set the mode
            • Sets the padding
            • Sets the padding mode
            • Set the pad mode
            • Set key
            • Creates the subkeys of the key
            • Convert a string to a list of bits
            • Sets the key
            • Returns the key associated with this request
            • Performs a permutation of the given block
            Get all kandi verified functions for this library.

            pyDes Key Features

            No Key Features are available at this moment for pyDes.

            pyDes Examples and Code Snippets

            No Code Snippets are available at this moment for pyDes.

            Community Discussions


            Kivy app crashing on android [No running app found, exit]
            Asked 2020-Dec-13 at 05:55

            I'm new to kivy and made a song downloading app in kivy which works fine on pc. After exporting successfully when i run the app on android it crashes after loading screen. I added all requirements and all still it crashes.

            This is my buildozer.spec file:



            Answered 2020-Dec-13 at 05:55

            Ok, I finally found the error. The version of kivy that I was using wasn't latest and had some bugs. So after changing the requirements in my buildozer.spec from python3,kivy,kivymd,mutagen,pyDes,tqdm,requests,pillow,urllib3,chardet,idna,android to python3,kivy=2.0.0rc4,kivymd,mutagen,pyDes,tqdm,requests,pillow,urllib3,chardet,idna,android and delecting .buildozer/ directory and running buildozer again, the app works fine



            Converting java code for 3DES Encryption with md5 message digest and DESede/CBC/PKCS5Padding to python
            Asked 2020-Sep-29 at 08:03

            I have this working java code which encrypts the passphrase with 3DES encryption-



            Answered 2020-Sep-29 at 08:03

            There are a lot of differences between both codes:

            • In the Java code the key is generated by concatenating the 16 bytes MD5 hash with the first 8 bytes of the same hash. In the Python code, key generation does not seem to work at all (changing from {: <24} to [:24] does not really make it better). The 2nd change finally, digested_passkey[:24], is identical to digested_passkey and works because PyCryptodome automatically extends the key to 24 bytes according to 2-key Triple DES.
            • In the Python code, two libraries are used: pyDes and PyCryptodome. Only one library should be applied here. Regarding PyCryptodome AES is used. Actually AES is the faster/modern algorithm compared to Triple DES, but it just differs from that of the Java code.
            • The Python code also implements padding, which is not necessary, because PyCryptodome (in contrast to the legacy PyCrypto) supports padding. Apart from that the padding is wrongly implemented because it uses a block size of 16 bytes, but Triple DES has a block size of 8 bytes.
            • In the Java code a 0 vector is taken for the IV, in the Python code a random IV (which is actually correct, but just differs from the Java code).
            • In the Java code IV and ciphertext are not concatenated, in the Python code they are concatenated (which is actually correct, but just differs from the Java code).

            Apart from that, the algorithms used are insecure (MD5) or outdated/slow (Triple DES), as already mentioned in the comment. Also a 0-vector as IV is completely insecure.



            How do I do TripleDES encryption in python3 using a pre-defined key and IV?
            Asked 2020-Sep-24 at 12:52

            Because of legacy C#.NET code, I cannot change the key and the IV. They simply are what they are. But I cannot seem to find a way to do what I need to do. I tried this...



            Answered 2020-Sep-23 at 19:57

            Based on the equals padding, I strongly suspect your IV is base64 encoded. Perhaps the original API expected to receive it base64 encoded? If you do base64.b64decode("AStringOfIV=") it produces a length 8 IV, b'\x01+k\x8ax\x0e|\x85', which may get the behavior you want.


            Community Discussions, Code Snippets contain sources that include Stack Exchange Network


            No vulnerabilities reported

            Install pyDes

            Using the Python package manager:.


            For any new features, suggestions and bugs create an issue on GitHub. If you have any questions check and ask questions on community page Stack Overflow .
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries
          • HTTPS


          • CLI

            gh repo clone twhiteman/pyDes

          • sshUrl


          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link

            Explore Related Topics

            Consider Popular Encryption Libraries


            by certbot


            by signalapp


            by unlock-music


            by keybase


            by signalapp

            Try Top Libraries by twhiteman


            by twhitemanPython


            by twhitemanJavaScript