【问题标题】:What is the difference between pycrypto and crypto packages in python?python中的pycrypto和crypto包有什么区别?
【发布时间】:2020-12-21 16:59:45
【问题描述】:

我不熟悉 python 中的加密和散列。我需要在我的一个烧瓶项目中进行身份验证。所以我的朋友告诉我使用加密包,但是当我搜索它时,我在结果中得到了cryptopycrypto 包。问题是我知道它们都用于加密实用程序,但我对使用哪一个感到困惑。是其中一个比另一个更好,还是其中一个只是另一个的包装?

或者

我应该使用另一个更好的python加密包来代替上面提到的两个吗? 我希望使用过这些软件包的人可以帮助我。谢谢。

【问题讨论】:

  • 仅查看链接中的使用文档,pycrypto 似乎是一个库,而 crypto 似乎是一个 CLI 实用程序。
  • 如果问题是微不足道的,请原谅我,但为什么它有一个pypi.org page dedicated for the crypto package
  • 没有什么能阻止 pypi 托管 CLI 程序。对于用 Python 编写的 CLI 程序,它提供了一种简单的分发方式。 awscli 是 pypi 上的 CLI 程序的另一个示例(也是网站上下载次数最多的程序之一)

标签: python flask encryption cryptography pycrypto


【解决方案1】:

这两个包的目标截然不同:crypto 是一个命令行实用程序,用于加密文件,而pycrypto 是一个 Python 库,可以在 Python 中用于执行许多不同的加密操作(散列、加密/解密等)。 pycrypto 将是在 Python 中实现身份验证的更合适的选择。

我会注意到 Python 还包括some cryptographic primitives in the standard library,它可能更适合您的用例。

编辑:正如 cmets 中所述,pycrypto 不再维护,而应使用诸如 cryptographypycryptodome 之类的库。

【讨论】:

  • 如果问题是微不足道的,请原谅我,但为什么它有一个pypi.org page dedicated for the crypto package。我以为 pypi.org 托管了 python 包,而不是 CLI 实用程序。
  • @SarathSajan 这根本不是一个微不足道的问题 :) jordanm 对您的原始帖子的评论对此作出了回应,但我也会将您指向 the setuptools documentation,它显示了这是如何实现的。能够使用 pip(以及因此使用 setuptools)安装命令行工具是预期的行为。
  • 关于 pycrypto,应该补充一点,这个库是遗留的 (here),不再维护,不应该使用。继任者是pycryptodome
  • @Topaco 干杯,我已经在答案中指出了这一点。
猜你喜欢
  • 2011-12-18
  • 2014-06-17
  • 1970-01-01
  • 1970-01-01
  • 2019-08-27
  • 2017-12-05
  • 2011-07-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多