UUID(通用唯一标识符)

UUID是由一组32位数的16进制数字所构成,是故UUID理论上的总数为16^32=2^128,约等于3.4 x 10^38。也就是说若每纳秒产生1兆个UUID,要花100亿年才会将所有UUID用完。
UUID的标准型式包含32个16进制数字,以连字号分为五段,形式为8-4-4-4-12的32个字符。示例:
550e8400-e29b-41d4-a716-446655440000
UUID亦可刻意重复以表示同类。例如说微软的COM中,所有组件皆必须实现出IUnknown接口,方法是产生一个代表IUnknown的UUID。无论是程序试图访问组件中的IUnknown接口,或是实现IUnknown接口的组件,只要IUnknown一被使用,皆会被参考至同一个ID:00000000-0000-0000-C000-000000000046。

生成方法

PHP

function uuid($prefix = ”)
{
$chars = md5(uniqid(mt_rand(), true));
$uuid  = substr($chars,0,8) . ‘-‘;
$uuid .= substr($chars,8,4) . ‘-‘;
$uuid .= substr($chars,12,4) . ‘-‘;
$uuid .= substr($chars,16,4) . ‘-‘;
$uuid .= substr($chars,20,12);
return $prefix . $uuid;
}
//Example of using the function –
//Using without prefix.
echo uuid(); //Returns like ‘1225c695-cfb8-4ebb-aaaa-80da344e8352′

C#

using System;
namespace Demo{
public class Test{
public static void Main()
{
Guid guid=Guid.NewGuid();
Console.WriteLine(guid);
}
}
}

C++ //基于boost

#include <boost/uuid/uuid.hpp>
#include <boost/uuid/uuid_io.hpp>
#include <boost/uuid/uuid_generators.hpp>
boost::uuids::uuid zcq_uuid = boost::uuids::random_generator()(); // 这里是两个() ,因为这里是调用的 () 的运算符重载
const string dqsj_uuid = boost::uuids::to_string(zcq_uuid);

Java

packagecom.mytest;
importjava.util.UUID;
publicclassUTest {
publicstaticvoidmain(String[] args) {
UUID uuid = UUID.randomUUID();
System.out.println(uuid);
}
}

GO

package main
import(
“github.com/nu7hatch/gouuid”
“fmt”
)
func main(){
fmt.Println(uuid.NewV4())
}

Python

#coding=utf-8
import uuid
name = ‘test_name’
namespace = ‘test_namespace’
print uuid.uuid1()
print uuid.uuid3(namespace,name)
print uuid.uuid4()
print uuid.uuid5(namespace,name)

“UUID(通用唯一标识符)”的2个回复

评论已关闭。


Fatal error: Uncaught Error: Call to undefined function create_function() in /www/wwwroot/www.menglei.net/wp-content/plugins/autoptimize/classes/autoptimizeStyles.php:96 Stack trace: #0 /www/wwwroot/www.menglei.net/wp-content/plugins/autoptimize/autoptimize.php(293): autoptimizeStyles->read() #1 [internal function]: autoptimize_end_buffering() #2 /www/wwwroot/www.menglei.net/wp-includes/functions.php(5373): ob_end_flush() #3 /www/wwwroot/www.menglei.net/wp-includes/class-wp-hook.php(324): wp_ob_end_flush_all() #4 /www/wwwroot/www.menglei.net/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters() #5 /www/wwwroot/www.menglei.net/wp-includes/plugin.php(517): WP_Hook->do_action() #6 /www/wwwroot/www.menglei.net/wp-includes/load.php(1260): do_action() #7 [internal function]: shutdown_action_hook() #8 {main} thrown in /www/wwwroot/www.menglei.net/wp-content/plugins/autoptimize/classes/autoptimizeStyles.php on line 96