【发布时间】:2010-12-23 04:43:41
【问题描述】:
我正在做一个项目,我遇到了一些问题。我已经搜索但找不到任何满意的答案。
我有一个由 0 和 1 组成的大文件。 我将 1024(我的块)位放入一个数组块中,然后我应用在 openssl/sha.h 库中实现的 SHA1() 函数。
字符块[1024]; while((fgets(chunk,1024,fp))!=NULL)
我的意图是我的文件可以包含相同的块,我想计算有多少块是相同的。
在我的数组块中获得 1024 位后,我申请:
无符号字符 obuf[20];
SHA1(块,strlen(块), obuf); 函数来获取哈希函数的结果。
SHA1 函数是如何工作的
unsigned char *SHA1(const unsigned char *d, unsigned long n,unsigned char *md);
之后我想将我的哈希函数结果存储在一个数组中。在我读取所有文件后,我将使用这个数组来比较是否有相同的哈希结果,这样我就可以开始我的项目了.但我坚持这一点。我无法将结果 obuf 放入数组中。
我试过了: 内存复制() strcopy() 或者只是 myarray[N][20]=obuf;等等
如果你有什么建议,我会很高兴谢谢。
所以最大的问题是找到多少个哈希是唯一的?
【问题讨论】: