20 md5加密

头文件.h

// 16位其实就是32位去除头和尾各8位

#import 

@interface MD5 : NSObject
{

}

//把字符串加密成32位小写md5字符串
+ (NSString*)md532BitLower:(NSString *)inPutText;
    
//把字符串加密成32位大写md5字符串
+ (NSString*)md532BitUpper:(NSString*)inPutText;

+ (NSString *)md5HexDigest:(NSString*)input;

@end

实现文件.m

    #import "MD5.h"
    #import 

    @implementation MD5

    /**
     *  把字符串加密成32位小写md5字符串
     *
     *  @param inPutText 需要被加密的字符串
     *
     *  @return 加密后的32位小写md5字符串
     */
    + (NSString*)md532BitLower:(NSString *)inPutText
    {
    const char *cStr = [inPutText UTF8String];
    unsigned char result[16];
    CC_MD5(cStr, (CC_LONG)strlen(cStr), result);
    return [[NSString stringWithFormat:
         @"%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X",
         result[0], result[1], result[2], result[3],
         result[4], result[5], result[6], result[7],
         result[8], result[9], result[10], result[11],
         result[12], result[13], result[14], result[15]
         ] lowercaseString];
    }

 /**
 *  把字符串加密成32位大写md5字符串
 *
 *  @param inPutText 需要被加密的字符串
 *
 *  @return 加密后的32位大写md5字符串
 */
    + (NSString*)md532BitUpper:(NSString*)inPutText
    {
        const char *cStr = [inPutText UTF8String];
        unsigned char result[16];
        CC_MD5(cStr, (CC_LONG)strlen(cStr), result);
        return [[NSString stringWithFormat:
                 @"%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X",
         result[0], result[1], result[2], result[3],
         result[4], result[5], result[6], result[7],
         result[8], result[9], result[10], result[11],
         result[12], result[13], result[14], result[15]
         ] uppercaseString];
    }

    + (NSString *)md5HexDigest:(NSString*)input
    {
        const char* str = [input UTF8String];
        unsigned char result[CC_MD5_DIGEST_LENGTH];
        CC_MD5(str, (CC_LONG)strlen(str), result);
        NSMutableString *ret = [NSMutableString stringWithCapacity:CC_MD5_DIGEST_LENGTH];

        for(int i = 0; i

你可能感兴趣的:(20 md5加密)