gpt4 book ai didi

java - 用哈希缩短长网址?

转载 作者:行者123 更新时间:2023-12-02 13:14:45 26 4
gpt4 key购买 nike

我有一个文件缓存,文件是从不同的网址下载的。我想按其网址名称保存每个文件。不过,这些名称可能会很长,而且我使用的是 FAT32 文件系统的设备 - 因此,在耗尽实际磁盘空间之前,长名称就会耗尽资源。

我正在寻找一种缩短文件名的方法,已经得到了对字符串进行哈希处理的建议。但我不确定哈希值对于两个不同的字符串是否保证是唯一的。如果两个哈希 url 具有相同的哈希值,如果我不小心获取了错误的图像,那就太糟糕了。

最佳答案

您可以生成 UUID对于每个 URL 并将其用作文件名。

UUID 是唯一的(或“实际上唯一的”)并且长度为 36 个字符,因此我猜文件名不会有问题。

从版本 5 开始,JDK 附带了一个用于生成 UUID 的类 (java.util.UUID)。如果有办法将 UUID 与 URL 关联起来,您可以使用随机生成的 UUID,或者可以使用基于名称的 UUID。基于名称的 UUID 始终相同,因此以下情况始终正确:

String url = ...
UUID urlUuid = UUID.nameUUIDFromBytes(url.getBytes);
assertTrue(urlUuid.equals(UUID.nameUUIDFromBytes(url.getBytes)));

关于java - 用哈希缩短长网址?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7274969/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com