CFUUIDRef和CFStringRef-生成唯一标识符

一般在项目中,我们要生成一个不重复的唯一的表示符作为文件或者路径名称的时候,可以使用CFUUIDRef

和CFStringRef来生成一个唯一的标识:

代码如下:

- (NSString *)createCUID:(NSString *)prefix{
    NSString *  result;
    CFUUIDRef   uuid;
    CFStringRef uuidStr;
    uuid = CFUUIDCreate(NULL);
    uuidStr = CFUUIDCreateString(NULL, uuid);
    result =[NSString stringWithFormat:@"%@-%@", prefix,uuidStr];
    CFRelease(uuidStr);
    CFRelease(uuid);
    return result;
}

NSString * get_uuid() {

    CFUUIDRef uuid_ref = CFUUIDCreate(NULL);

    CFStringRef uuid_string_ref= CFUUIDCreateString(NULL, uuid_ref);

    CFRelease(uuid_ref);

    NSString *uuid = [NSString stringWithString:(__bridge NSString*)uuid_string_ref];

    CFRelease(uuid_string_ref);

    return uuid;
}
时间: 2024-12-23 05:36:06

CFUUIDRef和CFStringRef-生成唯一标识符的相关文章

生成唯一标识符 ,通用唯一标识符 UUID

1 import java.util.UUID; 2 3 /** 4 * UUID生成工具 5 * 6 */ 7 8 public final class UuidGenUtils { 9 10 /** 11 * 生成一个UUID串(32个字符,其中的字母为小写) 12 * @return 13 * @throws 14 */ 15 public static String genUUID() { 16 return UUID.randomUUID().toString().replaceAll

全球唯一标识符:GUID在线生成

全球唯一标识符:GUID在线生成 原文地址:https://www.cnblogs.com/LittleTiger/p/8297996.html

GUID 全局唯一标识符

全局唯一标识符(GUID,Globally Unique Identifier)是一种由算法生成的二进制长度为128位的数字标识符.GUID主要用于在拥有多个节点.多台计算机的网络或系统中.在理想情况下,任何计算机和计算机集群都不会生成两个相同的GUID.GUID 的总数达到了2^128(3.4×10^38)个,所以随机生成两个相同GUID的可能性非常小,但并不为0.GUID一词有时也专指微软对UUID标准的实现. 在理想情况下,任何计算机和计算机集群都不会生成两个相同的GUID.随机生成两个相

iOS中keyChain 实现UUID 设备唯一标识符碰到的问题

废话少说,置入正题: 最近在研究实现获取设备唯一标识符时,经过各方面调研,发现使用苹果官方推荐的keyChain还是挺不错的. Apple提供了一个叫GenericKeychain的例子程序,在这里:http://developer.apple.com/library/ios/#samplecode/GenericKeychain/Listings/Classes_KeychainItemWrapper_h.html#//apple_ref/doc/uid/DTS40007797-Classes

JAVA UUID 生成唯一标识

Writer:BYSocket(泥沙砖瓦浆木匠) 微博:BYSocket 豆瓣:BYSocket Reprint it anywhere u want 需求 项目在设计表的时候,要处理并发多的一些数据,类似订单号不能重复,要保持唯一.原本以为来个时间戳,精确到毫秒应该不错了.后来觉得是错了,测试环境下很多一样的ID,不能达到唯一标识. UUID JDK API 是这么说的: "表示通用唯一标识符 (UUID) 的类. UUID 表示一个 128 位的值." 详细的说就是: "

python使用uuid库生成唯一id

概述: UUID是128位的全局唯一标识符,通常由32字节的字符串表示. 它可以保证时间和空间的唯一性,也称为GUID,全称为: UUID -- Universally Unique IDentifier Python 中叫 UUID GUID -- Globally Unique IDentifier C# 中叫 GUID 它通过MAC地址.时间戳.命名空间.随机数.伪随机数来保证生成ID的唯一性. UUID主要有五个算法,也就是五种方法来实现: 1.uuid1()--基于时间戳 由MAC地址

GUID (全局唯一标识符)

全局唯一标识符(GUID,Globally Unique Identifier)是一种由算法生成的二进制长度为128位的数字标识符.GUID主要用于在拥有多个节点.多台计算机的网络或系统中.在理想情况下,任何计算机和计算机集群都不会生成两个相同的GUID.GUID 的总数达到了2^128(3.4×10^38)个,所以随机生成两个相同GUID的可能性非常小,但并不为0.GUID一词有时也专指微软对UUID标准的实现. 在理想情况下,任何计算机和计算机集群都不会生成两个相同的GUID.随机生成两个相

【Python】 uuid生成唯一ID

uuid uuid是128位的全局唯一标识符(univeral unique identifier),通常用32位的一个字符串的形式来表现.有时也称guid(global unique identifier).python中自带了uuid模块来进行uuid的生成和管理工作.(具体从哪个版本开始有的不清楚..) python中的uuid模块基于信息如MAC地址.时间戳.命名空间.随机数.伪随机数来uuid.具体方法有如下几个: uuid.uuid1() 基于MAC地址,时间戳,随机数来生成唯一的u

利用Java.util.UUID来生成唯一ID(用来做数据库主键好用)

UUID(Universally Unique Identifier)全局唯一标识符,是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的.按照开放软件基金会(OSF)制定的标准计算,用到了以太网卡地址.纳秒级时间.芯片ID码和许多可能的数字.由以下几部分的组合:当前日期和时间(UUID的第一个部分与时间有关,如果你在生成一个UUID之后,过几秒又生成一个UUID,则第一个部分不同,其余相同),时钟序列,全局唯一的IEEE机器识别号(如果有网卡,从网卡获得,没有网卡以其他方式获得