gpt4 book ai didi

javascript - sha3输出可以用作文件名吗?

转载 作者:行者123 更新时间:2023-12-03 00:36:49 25 4
gpt4 key购买 nike

  1. sha3输出可以用作文件名吗?

  2. 换句话说,问题是:sha3 输出中的字符是什么?

  3. 如果这是特定于实现的,我将使用 sha3 npm package .

最佳答案

简短回答

下面代码中的

文件名可以安全地用作文件名,但请注意,许多操作系统中的文件名和路径通常有最大长度并且文件名的长度为128个字符

通过快速谷歌搜索,Linux 上的最大文件长度通常255 字符字​​节并且最大路径长度为4096 个字符。在Windows上,可能仍然存在260个字符最大路径长度的限制,因此请注意。

import { SHA3 } from 'sha3';

const hash = new SHA3(512);

hash.update('foo');
const filename = hash.digest('hex');

更长的答案

SHA-3 的输出为 512 位。使用问题中链接的包,hash.diget()(不带参数)返回一个 Buffer,其中包含 64 个元素 * 每个元素 8 位 = 512 位。如果您调用 hash.digest('hex') ,它将返回一个仅包含字符 0-9 和 a-f 的十六进制字符串,这些字符在文件名中都是安全的。请参阅digest's documentation对于其他输出格式。

请注意,sha-3 可以与 512 以外的某些输出长度一起使用(224、256、384);解释是相同的,但数字不同。

当然,我们可以做得更好(制作一个更短的文件名),但这对于我的目的来说已经足够了。另外,实际上这里没有任何特定于 sha3 的内容;任何二进制数据都可以编码为可用作文件名的十六进制字符串;只需记下长度即可。

关于javascript - sha3输出可以用作文件名吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53624558/

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