md5加密和SHA1(嘻哈算法)


//導入頭文件
#import <CommonCrypto/CommonCrypto.h>
@implementation WXUtil
+(NSString *)md5:(NSString *)str{
    const char *CStr = str.UTF8String;
    /**
     *  @param data#> 要加密的C語言字符串
     *  @param len#>  C語言字符串的長度
     *  @param md#>   生成的16個16進制字符的數組的首地址
     */
    //聲明一個字符數組  可存放16個字符
    unsigned char result[CC_MD5_DIGEST_LENGTH];
    CC_MD5(CStr, (CC_LONG)strlen(CStr), result);
    //遍歷該C語言數組 將其中的16個字符串拼接起來,形成OC字符串
    NSMutableString *string = [NSMutableString string];
    for (int i = 0; i < CC_MD5_DIGEST_LENGTH; i++) {
        [string appendFormat:@"%02X",result[i]];
    }
    return string;
}
+(NSString *)sha1:(NSString *)str{
    const char *cstr = [str cStringUsingEncoding:NSUTF8StringEncoding];
    NSData *data = [NSData dataWithBytes:cstr length:str.length];
    uint8_t digest[CC_SHA1_DIGEST_LENGTH];
    CC_SHA1(data.bytes, (unsigned int)data.length, digest);
    NSMutableString *output = [NSMutableString stringWithCapacity:CC_SHA1_DIGEST_LENGTH*2];
    for (int i = 0; i< CC_SHA1_DIGEST_LENGTH; i++) {
        [output appendFormat:@"%02x",digest[i]];
    }
    return output;
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM