iOS中hmac_sha1如何解密

加密方法如下

- (NSString *)HmacSha1WithSecret:(NSString *)key
{

    const char *cKey  = [key cStringUsingEncoding:NSASCIIStringEncoding];
    const char *cData = [self cStringUsingEncoding:NSASCIIStringEncoding];

    unsigned char cHMAC[CC_SHA1_DIGEST_LENGTH];

    CCHmac(kCCHmacAlgSHA1, cKey, strlen(cKey), cData, strlen(cData), cHMAC);

    NSData *HMAC = [[NSData alloc] initWithBytes:cHMAC length:sizeof(cHMAC)];

    NSString *hash = [QNUrlSafeBase64 encodeData:HMAC];
    return hash;
}
阅读 12k
1 个回答

MD5,SHA-1,SHA-224,SHA-256,SHA-384,SHA-512,以及它们对应的HMAC算法,都属于散列算法,又叫摘要算法,单向运算,不可逆,所以没法解密。但是可以通过暴力方式破解(按顺序产生字符串一个个试),当然会花非常长的时间,而且这个试出来的结果也不一定是原结果,因为的确存在多个源数据能计算出相同散列结果的情况。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏