小编Jos*_*osh的帖子

使用HMAC或OpenSSL进行URL签名

我对网址签名很感兴趣(例如http://.../?somearg = value&anotherarg = anothervalue&sig = aSKS9F3KL5xc),但是我有一些要求让我没有解决方案.

  • 我将使用其中一个PHPPython用于页面,因此我需要能够使用其中一个来签名和验证签名.
  • 我的计划是使用priv/pub密钥方案来签署一些数据,并且能够验证签名是否有效,但这里是复杂的地方:
  • 验证发生时不知道数据(不仅仅是somearg=value&anotherarg=anothervalue)

我的第一直觉是使用OpenSSL,例如使用RSA密钥对,按照以下方式执行某些操作:openssl rsautl -sign -inkey private.pem -in sensitive -out privsigned 并且privsigned仅根据数据和密钥进行验证:openssl rsautl -verify -inkey public.pem -in privsigned -pubin.

使用PHP的openssl_get_privatekey()openssl_sign()体征的数据不错,但我需要知道,以便核实(我不会有)的(解密!)数据:openssl_get_publickey()openssl_verify($data, $signature, $pubkeyid);来自http://php.net/openssl_verify.

或者我在这里遗漏了什么?


所以,我看着HMAC,但尽管许多散列函数在两种可用的PythonPHP,我百思不得其解,我怎么会去验证哈希值. PHPhash_hmac()允许我创建使用'钥匙’(或在这种情况下,字符串键)的哈希值.但是我该如何验证散列是否有效(即&sig=,不仅仅是由最终用户手动输入)&sig=abcdefg1234.

总结一下(抱歉这个长问题):我怎样才能验证我的服务器(证书/字符串)密钥是否已经签名/哈希(假设我无法通过重做所述数据的哈希来验证)?你对我应该选择哪条路线,Priv/pub-key还是HMAC有什么偏好?

任何大小的指针都非常感谢!提前致谢,

  • 玩笑

url verification signing hmac private-key

8
推荐指数
2
解决办法
8561
查看次数

获取在线/离线可达性通知

首先我要强调的是,我所说的是Mac OS X SDK,而不是 iPhone.

为了确定"连通性"并获得标志,我做了类似的事情:

#import <SystemConfiguration/SystemConfiguration.h>
const char *hostName = [@"google.com" cStringUsingEncoding:NSASCIIStringEncoding];
SCNetworkReachabilityRef target = SCNetworkReachabilityCreateWithName(NULL, hostName);
SCNetworkConnectionFlags flags = 0;
SCNetworkReachabilityGetFlags(target, &flags);
Run Code Online (Sandbox Code Playgroud)

这样做很好 - 获取有关Google可达性的信息(这正是我想知道的).

有没有办法为变化添加观察者?我一直在研究SCDynamicStore,但我发现Apple 的单一示例和文档有点压倒性.

理想情况下,我希望能够为标志更改设置一个函数,但这就足够了:注意IP被"删除"/释放,以及何时获得.(然后我可以在获得的IP上触发的函数中进行硬编码的可达性).

请不要犹豫,要求详细说明.

macos cocoa notifications objective-c reachability

5
推荐指数
1
解决办法
6485
查看次数