encryption - Paypal IPN 用户名/密码散列,它是如何工作的?

标签 encryption paypal cryptography paypal-ipn

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

username (optional) Username generated by PayPal and given to subscriber to access the subscription. 64 password (optional) Password generated by PayPal and given to subscriber to access the subscription (password will be encrypted).

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

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

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

最佳答案

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

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

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

您将获得加盐密码。我不知道他们最终是怎么做到的,而且事后检查大量用户群的效率很低。

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

关于encryption - Paypal IPN 用户名/密码散列,它是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17780276/

相关文章:

java - Paypal SetExpressCheckout Soap

c# - 访问 RSA key 容器

java - 解密错误: "no iv set when one expected"

mysql - 从 node.js 将二进制文件插入 MySQL

c - RSA_private_crypt 中可能存在错误

mysql - 什么类型的密码哈希?可能的mysql哈希值?

c# - 使用 C# 的 Rijndal 算法

paypal - 我可以生成新的 PayPal 身份 token 吗?

java - 将字符串转换为键

PayPal 的 Python 接口(interface) - urllib.urlencode 非 ASCII 字符失败