• Objective C HMAC-MD5


    - (NSString*) HMACWithSecret:(NSString*) secret andString:(NSString *)str
    {
        unsigned long encode = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000);
        
        CCHmacContext    ctx;
        const char       *key = [secret cStringUsingEncoding:encode];
        const char       *string = [str cStringUsingEncoding:encode];
        unsigned char    mac[CC_MD5_DIGEST_LENGTH];
        char             hexmac[2 * CC_MD5_DIGEST_LENGTH + 1];
        char             *p;
        
        CCHmacInit( &ctx, kCCHmacAlgMD5, key, strlen( key ));
        CCHmacUpdate( &ctx, string, strlen(string) );
        CCHmacFinal( &ctx, mac );
        
        p = hexmac;
        for (int i = 0; i < CC_MD5_DIGEST_LENGTH; i++ ) {
            snprintf( p, 3, "%02x", mac[ i ] );
            p += 2;
        }
        
        return [NSString stringWithUTF8String:hexmac];
    }
    

     encode 根据需要可以使用GBK的中文编码,不需要中文的话可以使用UTF-8编码

  • 相关阅读:
    信息的概念
    信息管理学基础
    第一章关键术语
    企业的转变
    国外的信息系统概念
    管理信息系统的基本功能
    人机交互设计-评价输入法-课下作业
    《构建之法》一
    27日进度
    26号进度
  • 原文地址:https://www.cnblogs.com/wlsxmhz/p/5549368.html
Copyright © 2020-2023  润新知