如果不是“IPHONE UDID”,该怎么用?

如果不是“IPHONE UDID”,该怎么用?,第1张

概述哇…本周在线查看关于使用iPhone的UDID的所有“恐慌故事”. [[UIDevice currentDevice] uniqueIdentifier] 我们应该使用什么呢? 如果手机被卖给另一个用户……并且应用程序已根据手机的UDID在远程服务器上存储了一些数据,该怎么办? (当然,我想避免应用商店的“加密限制”问题.) 为什么不使用Mac地址,然后可能将其哈希. 有一个很好的UIDevice 哇…本周在线查看关于使用iPhone的UDID的所有“恐慌故事”.

[[UIDevice currentDevice] uniqueIDentifIEr]

我们应该使用什么呢?

如果手机被卖给另一个用户……并且应用程序已根据手机的UDID在远程服务器上存储了一些数据,该怎么办?

(当然,我想避免应用商店的“加密限制”问题.)

解决方法 为什么不使用Mac地址,然后可能将其哈希.

有一个很好的UIDevice-Extension类别here

- (Nsstring *) macaddress{    int                 mib[6];    size_t              len;    char                *buf;    unsigned char       *ptr;    struct if_msghdr    *ifm;    struct sockaddr_dl  *sdl;    mib[0] = CTL_NET;    mib[1] = AF_ROUTE;    mib[2] = 0;    mib[3] = AF_link;    mib[4] = NET_RT_IFList;    if ((mib[5] = if_nametoindex("en0")) == 0) {        printf("Error: if_nametoindex error\n");        return NulL;    }    if (sysctl(mib,6,NulL,&len,0) < 0) {        printf("Error: sysctl,take 1\n");        return NulL;    }    if ((buf = malloc(len)) == NulL) {        printf("Could not allocate memory. error!\n");        return NulL;    }    if (sysctl(mib,buf,take 2");        return NulL;    }    ifm = (struct if_msghdr *)buf;    sdl = (struct sockaddr_dl *)(ifm + 1);    ptr = (unsigned char *)LLADDR(sdl);    Nsstring *outstring = [Nsstring stringWithFormat:@"%02X:%02X:%02X:%02X:%02X:%02X",*ptr,*(ptr+1),*(ptr+2),*(ptr+3),*(ptr+4),*(ptr+5)];    // Nsstring *outstring = [Nsstring stringWithFormat:@"%02X%02X%02X%02X%02X%02X",//                       *ptr,*(ptr+5)];    free(buf);    return outstring;}

你可以用模型散列这个吗?

总结

以上是内存溢出为你收集整理的如果不是“IPHONE UDID”,该怎么用?全部内容,希望文章能够帮你解决如果不是“IPHONE UDID”,该怎么用?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/web/1060389.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存