path.GetRandomFileName是否每次都会生成一个唯一的文件名?另外,Gettempfilename - 会生成一个唯一的名称吗?path.getrandomfilename是否会每次生成一个唯一的文件名?
6
A
回答
4
8
在我的系统Path.GetRandomFileName()
返回8.3格式的短名称。
是否保证永不返回相同的名称两次?不,你不能保证,就像你不能用任何哈希算法一样。只有有限的名字,所以最终你会得到一个副本。
然而,由于Path.GetRandomFileName()
使用RNGCryptoServiceProvider
这是一个密码强的随机数发生器,所以这个机会非常低。
总而言之,你不能以严格的方式保证它是唯一的。但重复的机会非常低,所以你可以假设它是。
相关问题
- 1. 如何生成一个随机数,每次都是唯一的
- 2. MPMediaItem生成唯一的文件名
- 3. 生成唯一的文件名
- 4. 是否可以为每个选项卡生成唯一的ID?
- 5. 从文件名生成唯一散列
- 6. Python工具生成一个唯一的临时文件名
- 7. python的tempfile.mkstemp是否总是产生一个唯一的名字?
- 8. C#:什么是生成唯一文件名的最快方法?
- 9. 生成唯一名称?
- 10. 检查随机生成的用户名是否唯一
- 11. Scribe Insight:每次生成一个新的csv文件
- 12. sql - 为每一行生成一个唯一的随机值
- 13. 如何为每个JSON值生成唯一名称
- 14. 在一个文件中的唯一行发生次数
- 15. 为每个数组值生成一个唯一的随机数
- 16. 获取多次上传的文件的Django生成的唯一名称
- 17. 自动生成的每次更新的唯一编号列
- 18. 如何在python中每次生成一个新的唯一编号?
- 19. MarkLogic:如何生成唯一的文档/ xml文件名
- 20. 每次执行的AES加密密钥生成是否一致?
- 21. 每天生成唯一的序列号
- 22. 查找是否每6个月发生一次事件
- 23. Imagemagick:一次生成多个文件
- 24. 是否有一个函数来生成复制文件的文件名?
- 25. 生成唯一
- 26. 生成一个唯一的IV头文件
- 27. DiskDrive签名是否唯一?
- 28. 访问令牌中生成的Facebook ID是否对每个会话都是唯一的?
- 29. 如何为上传的图片生成唯一的文件名
- 30. 保存带有唯一名称的生成的Word文件(mailmerge)
你会碰到大约一亿个文件名。根据你愿意接受的碰撞概率,它可能会变得不舒服大约一百万个文件名。 – CodesInChaos
就我个人而言,我会使用128位随机值而不是55位。可能不适合8.3文件名,但DOS是相当死的,所以谁在乎? – CodesInChaos
GetRandomFileName具有与熵无关的次要动机。尽管NTFS支持很长的路径名,但除了最新版本以外,.NET的大多数版本都限于MAX_PATH。在很多用例中,有必要在环境定义的TEMP文件夹下创建几个级别的随机文件夹。 GetRandomFileName以短名称对熵的50多位进行编码,这使得路径过长的错误发生的可能性较小。除此之外,我同意可以遵循相同的逻辑并设计一个使用更多熵的自定义实现。 – rwong