# Functions
计算文件的SHA-256 hash.
计算[]byte的SHA-256 hash值.
CheckAndMkdir 检查文件夹是否存在,不存在则新建.
CompareHashes 比较两个哈希值是否相等 参数: - hash1: []byte 第一个哈希值 - hash2: []byte 第二个哈希值
返回值: - bool: 如果两个哈希值相等,返回 true;否则返回 false.
CopyFile 将文件从源路径复制到目标路径.
CreateFile 在指定子目录创建一个新文件.
DecodeFromBytes 使用 gob 解码将 []byte 转换为指定的数据结构.
Delete 删除指定的文件.
DeleteAll 删除所有文件.
EncodeToBytes 使用 gob 编码将任意数据转换为 []byte.
Exists 检查指定的文件是否存在.
FromBytes 泛型函数,用于将 []byte 转换回指定类型.
GenerateFileID 生成用于文件的FileID.
GenerateSecretFromPrivateKeyAndChecksum 使用私钥和文件校验和生成秘密.
GenerateSegmentID 生成用于文件片段的SegmentID.
GenerateTaskID 生成任务ID 使用时间戳、私钥和随机数生成一个唯一的taskID 参数: - ownerPriv *ecdsa.PrivateKey: 所有者的私钥
返回值: - string: 生成的taskID - error: 处理过程中发生的任何错误.
GetContentType 获取 MIME 类型的方法.
GetFileChecksum 计算文件的校验和的方法.
joinStrings 函数将任意数量的字符串参数组合成一个单一的字符串。 这里使用了变长参数,允许函数接受任意数量的字符串。 特别地,函数内部对字符串中的逗号和反斜杠进行了转义处理, 以确保它们不会影响最终组合字符串的解析。.
MergeFieldsForSigning 接受任意数量和类型的字段,将它们序列化并合并为一个 []byte。.
NewBitSet 创建一个新的 BitSet 实例。 参数: - size: int 表示位集合的大小。
返回值: - *BitSet: 新创建的 BitSet 实例。.
OpenFile 打开指定子目录和文件名的文件.
Read 从指定的文件读取数据.
RenameFile 重命名或移动文件.
SeparateHashFromData 从数据中分离出SHA-256哈希值和原始数据.
splitString 函数将一个组合过的字符串分割成原始的字符串数组。 这个函数逆转了 joinStrings 函数的操作,正确处理了转义的逗号和反斜杠。.
ToBytes 泛型函数,用于将不同类型的数据转换为 []byte.
waitForStatusChange 是一个通用的等待状态变化的函数。它接受一个条件变量和一个检查状态的函数。 它会阻塞调用它的goroutine直到checkStatus函数返回true。.
WalkFiles 遍历指定目录下的文件并执行回调函数.
Write 写入数据到指定的文件.