iOS7获取UUID以及转换MD5

   最近项目开发,运用到要获取UUID转MD5,但是iOS7不能使用获取的UDID的接口(涉及到隐私),获取MAC地址的方式的接口在iOS7下也废弃了.目前可能的就是获取UUID了,但是在iOS7下,UUID一个不好的地方是每次调用一次,生成的就不一样,这个会导致一旦APP卸载重装,UUID就变了.

        下面,介绍一种比较方便的方法,来解决这一问题:

         1.导入Security.framework

         2.在github上http://github.com/soffes/sskeychain下载SSKeychain开源库,引入SSKeychain文件夹到你的工程

         

[objc]  view plain copy
  1. - (NSString *)getIOSUUID  
  2. {  
  3.     NSString *retrieveuuid = [SSKeychain passwordForService:@"com.mohe.userinfo"account:@"uuid"];  
  4.       
  5.     if ( retrieveuuid == nil || [retrieveuuid isEqualToString:@""]){  
  6.         CFUUIDRef uuid = CFUUIDCreate(NULL);  
  7.         assert(uuid != NULL);  
  8.         CFStringRef uuidStr = CFUUIDCreateString(NULLuuid);  
  9.           
  10.         retrieveuuid = [NSString stringWithFormat:@"%@", uuidStr];  
  11.           
  12.         [SSKeychain setPassword:retrieveuuid forService:@"com.mohe.userinfo"account:@"uuid"];  
  13.     }  
  14.     return retrieveuuid;  
  15. }  

@转换MD5格式的话可以写个类目:

[objc]  view plain copy
  1. #import "NSString+MD5.h"  
  2. #import <CommonCrypto/CommonDigest.h>  
  3. @implementation NSString (MD5)  
  4. - (NSString *)md5HexDigest  
  5. {  
  6.     const charchar *original_str = [self UTF8String];  
  7.     unsigned char result[CC_MD5_DIGEST_LENGTH];  
  8.     CC_MD5(original_str, (int)strlen(original_str), result);  
  9.     NSMutableString *hash = [NSMutableString string];  
  10.     for (int i = 0; i < 16; i++)  
  11.         [hash appendFormat:@"%02X", result[i]];  
  12.     return [hash lowercaseString];  
  13. }  
  14. @end  



@测试后发现,uuid在删除后仍会改变,后面百度了这个博客,大家可以参考:

http://www.cnblogs.com/smileEvday/p/UDID.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值