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")

贡献

欢迎拉取请求。对于重大变化,请先打开一个问题,讨论您希望更改的内容。

请确保根据需要更新测试。

许可证

MIT

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
字典java cassandra对象映射注释   java定制Solr TokenFilter lemmatizer   字符串从Java文件中读取windows文件名   java如何在Windows上设置StanfordCorenlp服务器以返回文本   java axis2“意外的子元素值”   java使用POI HSSF获取错误   多线程Java等待计时器线程完成   java ForkJoinPool BuffereImage处理风格   从java代码运行Python脚本   java将字节[]转换为短[],使每个短元素包含13位数据   java如何为swing jframe应用程序将代码划分为类   java使用okhttp更改baseurl   java AlertDialog。建设者setView导致堆栈溢出错误   java如何在特定的radius 安卓 studio中接收地址列表?