将哈希值从 php script() 移植到 python

2023-12-25

我想知道是否有与 PHP 同源的 pythoncrypt()函数以类似的方式执行,生成随机盐并将其嵌入到保存的字符串中。

我有一个使用创建的哈希密码表$5$用于设置基于 SHA256 的加盐密码的字符串密钥。这些哈希值在两端以固定的间隔附加了一些额外的记录熵,但是将这些字符从字符串中分离出来并获取核心哈希值是微不足道的,根本不是问题。

我查看了 python 文档,但找不到任何方法hashlib似乎使用了与 php 相同的语法crypt()。 PHP 中使用的方法(输入格式在盐、算法和轮之间用美元符号分割)是该语言所独有的吗?

Thanks.

EDIT:

看起来好像是python自己原生的修改版crypt函数将使用类似于 PHP 的过程。来自 3.3 预发布文档:

http://docs.python.org/dev/library/crypt.html http://docs.python.org/dev/library/crypt.html

EDIT:

最后找到了Passlib,一个用纯python提供此功能的库。

http://packages.python.org/passlib/index.html http://packages.python.org/passlib/index.html


我意识到这个问题很老了,但是我在尝试用 Python 实现最初用 PHP 编写的登录算法时发现了它。 PHP 中的 crypt 函数使用少数不安全的 DES 算法中的任何一种,包括 bcrypt。这取决于你用什么哈希字符串。 Passlib 几乎是复制应用程序当前从 PHP crypt 获得的功能的最佳选择。取出一个散列密码,然后查看字符串的前面。您应该看到类似 $2a$、$3$、$6$(或类似)的内容。请注意,如果此字符串不存在,则您很可能使用标准 DES 散列。

将该信息带到此链接:

http://pythonhosted.org/passlib/modular_crypt_format.html#mcf-identifiers http://pythonhosted.org/passlib/modular_crypt_format.html#mcf-identifiers

然后,将其与您需要在 Python 中实现的算法相匹配。方案标识符是有关该哈希算法的 passlib 文档的链接。此时,您应该拥有完成重新实现所需的所有信息。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将哈希值从 php script() 移植到 python 的相关文章

随机推荐

  • Java 的国际字符

    我正在构建一个应用程序 它从 java 获取信息并构建 Excel 电子表格 一些信息包含国际字符 例如 当俄语字符在 Java 中正确呈现时 我遇到问题 但当我将这些字符发送到 Excel 时 它们无法正确呈现 我最初认为问题是编码问题
  • 使用插入单元格到表中时,UITableViewCell 不使用自动布局高度

    背景 我按照说明使用 purelayout 以编程方式创建 UITableViewCellshere https stackoverflow com a 18746930 766570 它基本上表明您必须在单元格上设置顶部 底部约束 然后使
  • 命令参数字符串未计算

    我在 aspx 页面内有一个命令参数 设置为 for 循环内的对象变量 如下所示
  • 将 Monolog WebProcessor 与 Laravel 5.6 结合使用

    我发现新的日志堆栈 通道提供了一种方法tap或定义handlers 但是 我正在努力获得WebProcessor已加载 但似乎不起作用 这个应该被挖掘吗 或者有其他方法来加载它吗 这是 Laravel 5 6 特有的 这是我在使用 Lara
  • 如何使用 JAXB 从 Java 中的 XSD 获取 minOccurs / maxOccurs 值?

    我的应用程序正在调用 Web 服务 并且我已使用 maven jaxb2 plugin 从 WSDL XSD 生成了 Java 类 Web 服务调用在一段时间内工作得很好 但最近我在将对象编组到 XML 时遇到了问题 org xml sax
  • amqp 或 xmpp 用于实时在线游戏[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 以下哪些技术套件适用于多用户在线游戏项目 项目要求 能够在任何给定时间处理 2k 5k 用户 适用于
  • CleanWPPAllFilesInSingleFolder 错误使我的项目不再加载

    我使用 VS2012 创建了一个动态数据项目 一切顺利 然后我开始配置 Web 部署设置 我不确定我到底更改了什么设置 因为没有错误 但是 当我尝试加载解决方案时 我收到该项目的以下错误 并且它将不再加载 Specified conditi
  • 为什么我会收到此 LineUnavailableException?

    我在代码的第 34 行不断收到 LineUnavailableException https www refheap com 21223 https www refheap com 21223 错误读取为javax sound sample
  • 使用 ConstraintLayout 的展开链元素组

    我在使用约束布局传播 2 组元素时遇到问题 我知道这个新布局的目标是使用平面层次结构 因此我想避免将我的元素放入子布局中 我查看了一些很棒的资源 例如constraintlayout com 但无法弄清楚如何使其适用于我的特定案例 我认为这
  • 协会类别的独特性

    我很难理解 UML 2 5 规范中解释的关联类的概念 最让我困惑的是下面这句话 摘自199页 笔记 即使当 AssociationClass 的所有末端都具有 isUnique true 时 也可能有多个实例关联末端类的同一组实例 正如这里
  • 如何能够显示没有文本的表 TD

    我的问题 如何让表格的 TD 不带有文本 而不使其消失 我使用这个 HTML 代码 div div div table cellpadding 0 cellspacing 0 border 0 tr td td td td td td tr
  • 如何在 Windows 上集成 PHP 和 R?

    集成 PHP 和 R 时遇到一些问题 我正在研究这篇文章 http www r bloggers com integrating php and r http www r bloggers com integrating php and r
  • CSS 类align-self-end 不起作用

    div class col md 3 div class card bg dark text white img class card img src http via placeholder com 300x340 alt Card im
  • Laravel proc_open():分叉失败

    我在 laravel 后出现此错误composer update 未捕获的ErrorException proc open fork失败 资源在vendor symfony console Terminal php中暂时不可用 127 pr
  • Zend 捕获布局并将内容视为变量

    我有一个控制器 My Controller 带有简单的示例操作 public function exempleAction Using layout mail this gt helper gt layout gt setLayout ma
  • 非规范化:多少才算太多?

    我已经为我正在 按书本 构建的网络应用程序设计了数据库 也就是说 我已经 创建了包含应用程序的实体 属性和关系的 E R 图 将 E R 图转换为模式 将架构转换为 无架构 形式以对数据库进行建模 该数据库是 Cassandra NoSQL
  • 使用 POST 参数压缩 HTTP 文本

    我正在编写客户端软件 该软件使用大量文本 实际上是 JSON 对象 作为 POST 参数来启动 HTTP 请求 我想在发送之前压缩此文本并在服务器上解压缩该文本 Gzip 生成二进制文件 我认为我无法将其作为 POST 参数发送 存在哪些选
  • 尝试安装 JDK8 U11 OSX 10.10 Yosemite 时出错

    今天是 Oracle JDK8 U11 的发布 当我尝试在 OSX yosemite 10 10 中安装 pkg 时 出现此错误并且无法继续 OSX版本存储在 System Library CoreServices SystemVersio
  • 数据上下文注册为瞬态,但内存使用量不断增长。我的 DI 配置有问题吗?

    我在用着EF Core和 一起Postgres 可能并不重要 在一个 NET Core 3 1 控制台应用程序 该程序使用一个共享项目 以及解决方案的其他组件 所有业务逻辑均使用简单的 CQRS 类型模式和 Mediator 来实现 在一处
  • 将哈希值从 php script() 移植到 python

    我想知道是否有与 PHP 同源的 pythoncrypt 函数以类似的方式执行 生成随机盐并将其嵌入到保存的字符串中 我有一个使用创建的哈希密码表 5 用于设置基于 SHA256 的加盐密码的字符串密钥 这些哈希值在两端以固定的间隔附加了一