0

我正在尝试使用 IPN 的 PayPal 订阅来为我的客户提供每月账单。IPN 工作正常,但我不确定密码散列是如何工作的。

用户名(可选) 由 PayPal 生成并提供给订阅者以访问订阅的用户名。64 位密码(可选) 由 PayPal 生成并提供给订阅者访问订阅的密码(密码将被加密)。

我的理解是我需要对真实密码进行“哈希”处理,然后将其与通过 IPN 收到的保存的“哈希处理”密码进行比较。但没有提及“哈希”到底是什么。从某个论坛我收集它是“linux crypt”和“Apache 密码”。所以我试图找到 c# 实现和在线生成器来散列密码,但结果我从来没有得到 IPN 散列密码。

  • A) 这是我通过 IPN 得到的:密码=nw4eVBBG2F0hk
  • B) 这是我在查看卖家记录时看到的:密码 uq6oa0zmZSORU
  • C)这是客户在他们的记录中看到的:密码探测^blob

我需要一种从 C 到 A 的方法,很高兴知道为什么 B 与 A 不同。

4

1 回答 1

2

这听起来很奇怪,但这似乎是它的工作方式,如果您尝试预哈希,我不确定从您的最终结果如何。

Paypal 对密码使用 des crypt,最终密码的前 2 个字符作为盐。例如,如果你这样做:

<?php echo crypt("probe^blob", "nw"); ?>

您将获得加盐密码。我不知道他们最终是如何做到这一点的,而且在事后与大量用户群进行检查是效率低下的。

来源:http ://www.sitepoint.com/forums/showthread.php?52952-PayPal-IPN-Password-Hashing

于 2013-07-22T05:11:44.423 回答