我要在我的网站上实现许可证密钥生成器,但我对php的知识很少! 在我的(Cocoa)应用程序中,我集成了一个使用RSA_sign函数的系统验证(在C#中)...我想使用paypal IPN通知系统自动生成并向我的用户发送他们的许可证密钥......但是我真的不知道如何使用RSA密钥在php中签名字符串!在php我只知道openss_sign函数,但它不是一回事! 或者更好,最容易使用DSA签名方法???
请帮忙!
提前感谢所有回复!!!
答案 0 :(得分:0)
你想要openssl_sign()。
修改强>
答案 1 :(得分:0)
谢谢!你是对的!
我发现了问题,就是我在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'!我错了什么?