| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1813 人关注过本帖
标题:吹版,在VFP中怎么使用API函数UuidCreateSequential
只看楼主 加入收藏
sostemp
Rank: 4
等 级:贵宾
威 望:10
帖 子:202
专家分:284
注 册:2009-6-2
收藏
得分:0 
后8节 应该是MAC

[此贴子已经被作者于2023-4-13 08:48编辑过]

2023-04-13 08:45
easyppt
Rank: 6Rank: 6
等 级:侠之大者
威 望:1
帖 子:246
专家分:462
注 册:2021-11-24
收藏
得分:0 
百度了一下  :), python 根据uuid 获取mac地址,懂 python 的 调试一下 看看,能不能根据我上面截图里的UUID还原一下MAC,看看是不是我电脑的的MAC

https://

如果能再改写成VFP版的 那就更好了!

2023-04-13 09:03
倦猫1973
Rank: 2
等 级:论坛游民
威 望:1
帖 子:68
专家分:28
注 册:2022-11-17
收藏
得分:0 
翻车了,这都能有第二页。。。。

这都至少12小时这去了~~~~喜提一天摸鱼工资。

[此贴子已经被作者于2023-4-13 13:26编辑过]

2023-04-13 13:21
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10551
专家分:42996
注 册:2014-5-20
收藏
得分:0 
以下是引用easyppt在2023-4-13 09:03:03的发言:

百度了一下  :), python 根据uuid 获取mac地址,懂 python 的 调试一下 看看,能不能根据我上面截图里的UUID还原一下MAC,看看是不是我电脑的的MAC

https://

如果能再改写成VFP版的 那就更好了!

DECLARE long UuidCreateSequential IN rpcrt4 string@
uuid = REPLICATE(0h00,16)
IF UuidCreateSequential(@uuid) == 0
    ? TRANSFORM(RIGHT(STRCONV(uuid,15),12),"@R ##-##-##-##-##-##")
ENDIF

用UuidCreateSequential来获取MAC并不可靠,甚至有可能得到的不是真正的MAC。
在我这有2个以太网适配器,一个以太网、一个蓝牙,UuidCreateSequential得到的是蓝牙。

获取MAC,简单的可以 ipconfig /all

2023-04-13 14:17
easyppt
Rank: 6Rank: 6
等 级:侠之大者
威 望:1
帖 子:246
专家分:462
注 册:2021-11-24
收藏
得分:0 
哈哈,测试了一下吹版代码
原来 uuid最后一段竟然是 没有任何加工的MAC地址 ...,直接明码啊

好像是的,我笔记本上网用的是无线网卡,但显示的是以太网网卡(有线)

[此贴子已经被作者于2023-4-13 15:20编辑过]

2023-04-13 15:16
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10551
专家分:42996
注 册:2014-5-20
收藏
得分:0 
以下是引用easyppt在2023-4-13 15:16:39的发言:

哈哈,测试了一下吹版代码
原来 uuid最后一段竟然是 没有任何加工的MAC地址 ...,直接明码啊

好像是的,我笔记本上网用的是无线网卡,但显示的是以太网网卡(有线)

UuidCreateSequential好像只是针对以太网
2023-04-13 16:00
iswith
Rank: 6Rank: 6
等 级:侠之大者
威 望:5
帖 子:337
专家分:493
注 册:2013-5-14
收藏
得分:0 
专门为了这个写了个函数啊。。。
图片附件: 游客没有浏览图片的权限,请 登录注册
2023-04-13 21:50
倦猫1973
Rank: 2
等 级:论坛游民
威 望:1
帖 子:68
专家分:28
注 册:2022-11-17
收藏
得分:0 
以下是引用iswith在2023-4-13 21:50:52的发言:

专门为了这个写了个函数啊。。。


 我拷,真有这么闲的。
2023-04-13 22:19
easyppt
Rank: 6Rank: 6
等 级:侠之大者
威 望:1
帖 子:246
专家分:462
注 册:2021-11-24
收藏
得分:0 
总结一下:
1、sostemp 说的对,后8位就是MAC,只是这个MAC 可能不是当前联网的MAC,所以没细看,在此表示感谢。
2、吹水佬 、foxfans、iswith 都是技术大牛,还特别热于助人和无私奉献,侠之大者!
3、foxfans先生在5楼给出的答案是吻合的,配合吹版示例中的 transform()函数格式化一下,就可以得到和SQLSERVER一致的效果了。
4、UuidCreateSequential生成有序Guid 还是很有价值的,只是因为后8为直接取MAC地址有不少争议,网上搜了一下,有很多改进版本。
5、本帖的初衷是需要生成有序Guid,经过分析,还是由服务器统一生成 UUID 才能提现【有序】的价值,这点 iswith 说的很清楚。
6、所以最终我还是放弃了由客户端 利用UuidCreateSequential创建UUID,而是统一由服务器端生成,在数据迁移与合并的时候,影响也能降到最低。

另外:
1)、在阿里云的几台服务器上测试了一下,得到的MAC,用 ipconfig/all 比对,都不吻合。
2)、在我这里,我觉得后8位是否是真实联网MAC不是很重要,另外暴露也无妨,相反我还可以利用MAC验证数据迁移的变化。
3)、业务模块开发,我基本统一使用 自增型ID,但是针对数据迁移需求的,自增型确实不太合适,为了降低重复的概率,还是用UUID吧,尽管它也是相对的,不纠结了。

理解和感悟 也需要一个过程,也是学习的过程。
再次表示感谢!

[此贴子已经被作者于2023-4-14 09:08编辑过]

2023-04-14 08:43
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10551
专家分:42996
注 册:2014-5-20
收藏
得分:0 
以下是引用easyppt在2023-4-14 08:43:55的发言:

总结一下:
1、sostemp 说的对,后8位就是MAC,只是这个MAC 可能不是当前联网的MAC,所以没细看,在此表示感谢。
2、吹水佬 、foxfans、iswith 都是技术大牛,还特别热于助人和无私奉献,侠之大者!
3、foxfans先生在5楼给出的答案是吻合的,配合吹版示例中的 transfrom()函数格式化一下,就可以得到和SQLSERVER一致的效果了。
4、UuidCreateSequential生成有序Guid 还是还有价值的,只是因为后8为直接取MAC地址有不少争议,网上搜了一下,有很多改进版本。
5、本帖的初衷是需要生成有序Guid,经过分析,还是由服务器统一生成 UUID 才能提现【有序】的价值,这点 iswith 说的很清楚。
6、所以最终我还是放弃了由客户端 利用UuidCreateSequential创建UUID,而是统一由服务器端生成,在数据迁移与合并的时候,影响也能降到最低。

理解和感悟 也需要一个过程,也是学习的过程。
再次表示感谢!

可以测试一下:
1、UuidCreateSequential不能正常检测到以太网适配器的情况得到的MAC是什么
2、没有以太网适配器的情况得到的MAC是什么
2023-04-14 08:51
快速回复:吹版,在VFP中怎么使用API函数UuidCreateSequential
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016625 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved