我将在我的网站上实现许可证密钥生成器,但我对 php 的了解很少!在我的(Cocoa)应用程序中,我集成了一个使用 RSA_sign 函数(在 C# 中)的系统验证......我想使用 paypal IPN 通知系统自动生成并向我的用户发送他们的许可证密钥......但是我真的不知道如何使用 RSA 密钥在 php 中对字符串进行签名!!!在 php 中,我只知道 openss_sign 函数,但它不是一回事!还是更好、更容易使用 DSA 签名方法???
请帮忙!
先谢谢大家的回复!!!
你想要openssl_sign()。
编辑:
谢谢!你说的对!
我发现问题出在我与 openssl_sign 一起使用的哈希字符串中!我在objective-c中有这段代码:
NSString *stringToEncript = @"test";
const char *clearText = [stringToEncript UTF8String];
unsigned char md[SHA_DIGEST_LENGTH];
SHA1((unsigned char *)clearText, strlen(clearText), md);
for(int i=0; i<SHA_DIGEST_LENGTH; i++)
printf("%x", md[i]);
在php中我写过:
$stringToEncrypt = "test";
$hash = sha1(utf8_encode($stringToEncrypt));
echo $hash;
第一个代码的输出是:
a94a8fe5ccb19ba61c4c873d391e987982fbbd3
第二个代码的输出是:
a94a8fe5ccb19ba61c4c0873d391e987982fbbd3
如您所见,漏掉了一个“0”!我错了什么?