首页 > iOS中hmac_sha1如何解密

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;
}

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

【热门文章】
【热门文章】