我需要为网络上的图像文件生成 etag。我想到的可能解决方案之一是计算图像文件的 CRC,然后将其用作 etag。
这需要在每次有人在服务器上请求图像时计算 CRC,因此快速完成这一点非常重要。
那么,算法生成 CRC 的速度有多快?或者这是一个愚蠢的想法?
最佳答案
改用更强大的哈希算法,例如 SHA1 .
速度取决于图像的大小。大多数时间将花在从磁盘加载数据上,而不是 CPU 处理上。您可以缓存生成的哈希值。
但我还建议根据文件的最后更新日期创建 etag,这样速度更快,而且不需要加载整个文件。
请记住,etag 对于特定资源必须是唯一的,因此如果两个不同的图像具有相同的最后更新时间,则没有问题。
关于c# - CRC 的生成速度有多快?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7901860/