GUID:
即Globally
Unique
Identifier(全球唯一标识符)
也称作
UUID(Universally
Unique
IDentifier)
。
GUID是一个通过特定算法产生的二进制长度为128位的数字标识符,用于指示产品的唯一性。GUID
主要用于在拥有多个节点、多台计算机的网络或系统中,分配必须具有唯一性的标识符。
在
Windows
平台上,GUID
广泛应用于微软的产品中,用于标识如如注册表项、类及接口标识、数据库、系统目录等对象。
GUID
的格式为“xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”,其中每个
x
是
0-9
或
a-f
范围内的一个32位十六进制数。例如:6F9619FF-8B86-D011-B42D-00C04FC964FF
即为有效的
GUID
值。
二、GUID的优点
1GUID在空间上和时间上具有唯一性,保证同一时间不同地方产生的数字不同。
2世界上的任何两台计算机都不会生成重复的
GUID
值。
3需要GUID的时候,可以完全由算法自动生成,不需要一个权威机构来管理。
4GUID的长度固定,并且相对而言较短小,非常适合于排序、标识和存储。
三、GUID生成函数
复制代码
代码如下:
function
create_guid()
{
$charid
=
strtoupper(md5(uniqid(mt_rand(),
true)));
$hyphen
=
chr(45);//
"-"
$uuid
=
chr(123)//
"{"
substr($charid,
0,
8)$hyphen
substr($charid,
8,
4)$hyphen
substr($charid,12,
4)$hyphen
substr($charid,16,
4)$hyphen
substr($charid,20,12)
chr(125);//
"}"
return
$uuid;
}
三、GUID生成类
PHP获得GUID类:guid_classphp
复制代码
代码如下:
<php
class
System
{
function
currentTimeMillis()
{
list($usec,
$sec)
=
explode("
",microtime());
return
$secsubstr($usec,
2,
3);
}
}
class
NetAddress
{
var
$Name
=
'localhost';
var
$IP
=
'127001';
function
getLocalHost()
//
static
{
$address
=
new
NetAddress();
$address->Name
=
$_ENV["COMPUTERNAME"];
$address->IP
=
$_SERVER["SERVER_ADDR"];
return
$address;
}
function
toString()
{
return
strtolower($this->Name'/'$this->IP);
}
}
class
Random
{
function
nextLong()
{
$tmp
=
rand(0,1)'-':'';
return
$tmprand(1000,
9999)rand(1000,
9999)rand(1000,
9999)rand(100,
999)rand(100,
999);
}
}
//
三段
//
一段是微秒
一段是地址
一段是随机数
class
Guid
{
var
$valueBeforeMD5;
var
$valueAfterMD5;
function
Guid()
{
$this->getGuid();
}
//
function
getGuid()
{
$address
=
NetAddress::getLocalHost();
$this->valueBeforeMD5
=
$address->toString()':'System::currentTimeMillis()':'Random::nextLong();
$this->valueAfterMD5
=
md5($this->valueBeforeMD5);
}
function
newGuid()
{
$Guid
=
new
Guid();
return
$Guid;
}
function
toString()
{
$raw
=
strtoupper($this->valueAfterMD5);
return
substr($raw,0,8)'-'substr($raw,8,4)'-'substr($raw,12,4)'-'substr($raw,16,4)'-'substr($raw,20);
}
}
GUID类使用方法:
复制代码
代码如下:
require_once("guidclassphp");
$Guid
=
new
Guid();
$Guid->toString();这种情况是主板BIOS开启了网络启动导致的,后面应该还有DHCP
解决的方法如下:
一、只要等待网卡自检过去即可进入系统。
二、通过BIOS关闭网络唤醒功能即可。
1、开机按F2键进入BIOS界面。
2、选择"Power Management Setup ”按回车。
3、选择“Wake up Events”,将“ Wake up by LAN”(网络唤醒)选项设置为Disable。
4、最后按F10键,直接按回车后重启电脑即可。一、 现有方案
1、UDID(Unique Device Identifier)
获取方法:[[UIDevice currentDevice] uniqueIdentfier]
不足:iOS5之后,该方法返回的结果在所有应用中都相同,并且卸载应用、刷机、还原设备均不会发生改变,该方法被标记为废弃!最终,在2013年5月1号之后,AppStore禁止任何使用该方法的应用上架。iOS7中对外公开的API中已经移除了该方法!
2、保存在NSUserDefault中的UUID
获取方法:>你好,首先你的机子识别的是GPT分区(全称全局唯一分区表 GUID Partition Table)的结构,而不是GUID,GUID是全局唯一标识符。还有不是不能识别MBR,只是你的BIOS为UEFI的。如果想让它识别MBR,只需进入BIOS,在BOOT项里,将UEFI改为Legacy Bios即可。不过legacy Bios不支持GPT的分区。还有UEFI的不支持NTFS的U盘格式引导安装系统的。32位的系统也不支持UEFI。MBR转GPT的分区。最好用diskpart,不过要用diskpart将硬盘做成GPT的分区结构,那么硬盘里的数据就会丢失了、建议备份!。要 *** 作到命令行。还有UEFI的BIOS一般用来配合UEFI+GPT+win8的,可以快速开机(UEFI的BIOS免去了自检,一定程度上说加快开机。)希望帮到你吧!如果满意!请采纳哦!BT全名为BitTorrent,是一个p2p软件,你在下载download的同时,也在为其他用户提供上传upload,因为大家是“互相帮助”,所以不会随着用户数的增加而降低下载速度。
下面是一般用ftp,>就是专门帮别人服务的账号
服务器ID是服务器的唯一标识,一个服务器ID对应一个服务器。每个服务器运营方均有自己专门的服务器ID。
找到服务器ID方法1:
点击主页面左上方三横杠点击左下角的设置按钮。
点击进入切换账号界面查询服务器ID。
方法2:点击主页面左上方三横杠点击左下角的设置按钮。
点击退出登录。
服务器ID会显示在登录企业密信正下方。如何获取客户端的唯一标识信息
首先服务端就排除了,因为可以用多个用户登录。
然后看客户端有什么办法,只能是采用客户端存储的方式
1、cookie 这个你排除了,可能是因为清除cookie比较容易 *** 作。但这也是一种办法。
2、客户端的dom存储,这个有一定的局限,只有新的浏览器支持。而且同样可以删除。
3、插件方式,这个需要客户安装,一般不可能,但可以利用比较流行的安装率比较高的插件,例如flash,采用flash的本地存储记录。同样可以删除。
如果说用mac来唯一标识,但mac也是可以修改的
这个没有完美的解决方案,只能是尽力。BT全名为BitTorrent,是一个p2p软件,你在下载download的同时,也在为其他用户提供上传upload,因为大家是“互相帮助”,所以不会随着用户数的增加而降低下载速度。
其实跟ED也十分相似,ED跟BT不同的地方有:
ED--要连上一个固定server BT--没有固定server,只要分享者制作出该分享档案的torrent档公布出来便可
ED--分享的人越多速度越快 BT--种子seed越多速度越快
ED--世界性的分享 BT--团体性的分享(可做到速度保证)
ED--知道在分享者的user name &速度 BT--没显示使用者/分享者名字
比起其它的P2P软件,BT有个独特的地方,它存在一个中间的WEB服务器,就是我们在发布的时所填写的announce。该服务器提供了发布的统一管理,不像其它P2P软件那样到处去找哪些非常不稳定的个人服务器,相对起来让人安心的多。
该WEB服务器更大的作用是内网用户可以做 Send(下面会说明原理),这是其它软件无法做到的,但不好的地方是announce当机的时候就无法下载了。要知道P2P下载关键是要人气要高,announce停一下就搞到人气全没有了。
torrent 的作用
大家都知道我们要用BT下载 ,就要先下载一个torrent文件,这个文件到底有甚么呢:
首先是 announce 纪录了发布服务器的位置,让BT知道是哪个WEB服务器发布的,然后是一些文件信息,文件名,目录名,长度等等,最后是片段长度,和片段的 Sha1 校验码,(BT为了实现续传和文件校验,就把文件分成若干个片段),大家可以用写字板打看torrent文件看看,就是知道个大概,后面的乱码是片段 Sha1 校验码。
开始-续传的实现 sha校验
BT 打开一个 torrent文件后,先要你选择文件保存那里。然后判断文件不存在的话就建立新文件,存在的话就用 Sha1 校验码去校验文件---错误的就是还没下载的,这样就可以实现续传了,但128位校验,想不慢都不行
得到 peer
现在知道要下载甚么了,到那里下载呢这就要寻找有谁提供上传了,这里BT是通过WEB服务器来实现的,首先BT会通过分析 torrent 来得到下面一串网址:
[url]>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)