iOS中的加密

2018-10-18  本文已影响5人  来自宇宙边际的奥特蛋
项目大部分都是使用md5实现参数加密
一、先创建一个类
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>

@interface LucienTool : NSObject

+ (NSString *)md5String:(NSString *)srcString;

@end
#import "LucienTool.h"
#import <CommonCrypto/CommonDigest.h>

static LucienTool *shareTool;
@implementation LucienTool

+(instancetype)shareTool{
    static dispatch_once_t onceToken;
    dispatch_once(&onceToken, ^{
        shareTool = [[LucienTool alloc] init];
    });
    return shareTool;
}
// 32位大写md5
+ (NSString *)md5String:(NSString *)srcString{
    //要进行UTF8的转码
    const char *input = [srcString UTF8String];
    unsigned char result[CC_MD5_DIGEST_LENGTH];
    CC_MD5(input, (CC_LONG)strlen(input), result);
    NSMutableString *digest = [NSMutableString stringWithCapacity:CC_MD5_DIGEST_LENGTH * 2];
    for (NSInteger i = 0; i < CC_MD5_DIGEST_LENGTH; i++) {
        [digest appendFormat:@"%02X", result[i]];
    }
    return digest;
}
注意:
1.和后台约定参数加密顺序,否则后台可能会返回签名错误;
2.参与签名前后台会约定有一个固定的 key。
上一篇下一篇

猜你喜欢

热点阅读