Use PyCryptodome instead of PyCrypto #170
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request is motivated by #165 which lets users install
PyCryptodome
instead of the now inactivePyCrypto
package. SincePyCryptodome
installs all modules under the sameCrypto
package thatPyCrypto
used, all I had to do was change the references and documentation throughout the project. No actual code, including variables and functions had to be changed.However, what I have used here is a "drop-in replacement" of
PyCrypto
, which allows us to not make any changes to the code and continue to use the sameCrypto
package as mentioned earlier.PyCryptodome
offers another library independent of the oldPyCrypto
and can be installed asPyCryptodomex
, where all modules are installed under theCryptodome
package.With this pull request, old users of
btcrecover
who don't installPyCryptodome
will not be affected (at least, immediately), but if we go the other route of usingPyCryptodomex
and changing the code to useCryptodome
instead ofCrypto
, then they will be forced to install it in order to usebtcrecover
.These are my thoughts on this, would love any suggestions.