【发布时间】:2015-06-26 20:43:04
【问题描述】:
任何人都可以将以下代码转换为 Objective-C 吗?
服务器实现了下面的代码,我必须在客户端做同样的事情。
private string Signature()
{
string publicKey = PUBLICKEY;
string secretKey = PRIVATEKEY;
string email = YOUREMAIL;
if (String.IsNullOrWhiteSpace(secretKey) || String.IsNullOrWhiteSpace(publicKey))
return "";
string signature;
var secretBytes = Encoding.UTF8.GetBytes(secretKey);
var valueBytes = Encoding.UTF8.GetBytes(publicKey);
using (var hmac = new HMACSHA256(secretBytes))
{
var hash = hmac.ComputeHash(valueBytes);
signature = Convert.ToBase64String(hash);
}
string authInfo = Convert.ToBase64String(Encoding.Default.GetBytes(email + ":" + signature));
return authInfo;
}
【问题讨论】:
-
stackoverflow.com/q/8458917/528131 - 可能是重复的,除非我的加密知识不足
-
SO Answer for HmacSHA512 可以轻松转换为 HmacSHA256,只需将 512 的所有实例更改为 256。
标签: ios objective-c iphone