Python包,用于有效地分散信息,将长度为N的文件分成N个部分,每个部分的长度为N/m,这样每m个片段就足以重建原始文件。
IDA-pkg的Python项目详细描述
艾达
这是一个实现[1]中介绍的信息分散算法(IDA)的库。 IDA将一个大小为N的文件分成N个片段,每个片段的大小为N/m,这样就可以从这些片段中的任意m恢复原始文件。 注意,在IDA拆分文件之后,所有片段的总大小是(n/m)n。 可以选择参数n和m,使它们的比率接近1,因此,拆分原始文件后所有片段的总大小接近原始文件的大小,从而使IDA空间更为有效。
[1]Rabin,MichaelO.“有效分散信息以实现安全性、负载平衡和容错性”,《ACM期刊》(JACM)36.2(1989):335-348。
安装
使用包管理器pip安装IDA。
pip install IDA-pkg
问题
- 警告:目前只适用于小文件!在
示例
下面是一个简单的例子。也就是说,我们将一个文件分成10个片段,其中任何5个片段都足以恢复原始数据。
^{pr2}$为了重新组合文件,我们取任何5个片段,例如,我们取前5个片段,然后下面的片段将以字符串形式返回原始文件的内容。
importIDAIDA.assemble(fragments[:5])
也可以将输出写入文件。
IDA.assemble(fragments[:5],"output.txt")
贡献
欢迎拉取请求。对于重大变化,请先打开一个问题,讨论您希望更改的内容。
请确保根据需要更新测试。
许可证
- 项目
标签: