123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- #import <Foundation/Foundation.h>
- #import "WXUtil.h"
- /*
- 加密实现MD5和SHA1
- */
- @implementation WXUtil
- //md5 encode
- +(NSString *) md5:(NSString *)str
- {
- const char *cStr = [str UTF8String];
- unsigned char digest[CC_MD5_DIGEST_LENGTH];
- CC_MD5( cStr, (unsigned int)strlen(cStr), digest );
-
- NSMutableString *output = [NSMutableString stringWithCapacity:CC_MD5_DIGEST_LENGTH * 2];
-
- for(int i = 0; i < CC_MD5_DIGEST_LENGTH; i++)
- [output appendFormat:@"%02X", digest[i]];
-
- return output;
- }
- //sha1 encode
- +(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;
- }
- //http 请求
- +(NSData *) httpSend:(NSString *)url method:(NSString *)method data:(NSString *)data
- {
- NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:url] cachePolicy:NSURLRequestReloadIgnoringLocalCacheData timeoutInterval:5];
- //设置提交方式
- [request setHTTPMethod:method];
- //设置数据类型
- [request addValue:@"text/xml" forHTTPHeaderField:@"Content-Type"];
- //设置编码
- [request setValue:@"UTF-8" forHTTPHeaderField:@"charset"];
- //如果是POST
- [request setHTTPBody:[data dataUsingEncoding:NSUTF8StringEncoding]];
-
- NSError *error;
- //将请求的url数据放到NSData对象中
- NSData *response = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:&error];
- return response;
- //return [[NSString alloc] initWithData:response encoding:NSUTF8StringEncoding];
- }
- @end
|