資源簡(jiǎn)介
支持同一目錄下重復(fù)文件查找,顯示,刪除。
附帶exe文件,可直接運(yùn)行使用,程序大小247kb。
360如果誤報(bào)請(qǐng)?zhí)砑有湃?img width=510 src=http://www.sh-liguang.com/pic/229241.jpg />
代碼片段和文件信息
#include?“FileMd5.h“
#include?
#include?
#include?
/*?forward?declaration?*/
static?void?Transform();
static?unsigned?char?PADDING[64]?=?{
0x80?0x00?0x00?0x00?0x00?0x00?0x00?0x00
0x00?0x00?0x00?0x00?0x00?0x00?0x00?0x00
0x00?0x00?0x00?0x00?0x00?0x00?0x00?0x00
0x00?0x00?0x00?0x00?0x00?0x00?0x00?0x00
0x00?0x00?0x00?0x00?0x00?0x00?0x00?0x00
0x00?0x00?0x00?0x00?0x00?0x00?0x00?0x00
0x00?0x00?0x00?0x00?0x00?0x00?0x00?0x00
0x00?0x00?0x00?0x00?0x00?0x00?0x00?0x00
};
/*?F?G?and?H?are?basic?MD5?functions:?selection?majority?parity?*/
#define?F(x?y?z)?(((x)?&?(y))?|?((~x)?&?(z)))
#define?G(x?y?z)?(((x)?&?(z))?|?((y)?&?(~z)))
#define?H(x?y?z)?((x)?^?(y)?^?(z))
#define?I(x?y?z)?((y)?^?((x)?|?(~z)))?
/*?ROTATE_LEFT?rotates?x?left?n?bits?*/
#define?ROTATE_LEFT(x?n)?(((x)?<(n))?|?((x)?>>?(32-(n))))
/*?FF?GG?HH?and?II?transformations?for?rounds?1?2?3?and?4?*/
/*?Rotation?is?separate?from?addition?to?prevent?recomputation?*/
#define?FF(a?b?c?d?x?s?ac)?\
??{(a)?+=?F?((b)?(c)?(d))?+?(x)?+?(UINT4)(ac);?\
???(a)?=?ROTATE_LEFT?((a)?(s));?\
???(a)?+=?(b);?\
??}
#define?GG(a?b?c?d?x?s?ac)?\
??{(a)?+=?G?((b)?(c)?(d))?+?(x)?+?(UINT4)(ac);?\
???(a)?=?ROTATE_LEFT?((a)?(s));?\
???(a)?+=?(b);?\
??}
#define?HH(a?b?c?d?x?s?ac)?\
??{(a)?+=?H?((b)?(c)?(d))?+?(x)?+?(UINT4)(ac);?\
???(a)?=?ROTATE_LEFT?((a)?(s));?\
???(a)?+=?(b);?\
??}
#define?II(a?b?c?d?x?s?ac)?\
??{(a)?+=?I?((b)?(c)?(d))?+?(x)?+?(UINT4)(ac);?\
???(a)?=?ROTATE_LEFT?((a)?(s));?\
???(a)?+=?(b);?\
??}
void?MD5Init(MD5_CTX?*mdContext)
{
mdContext->i[0]?=?mdContext->i[1]?=?(UINT4)0;
/*?Load?magic?initialization?constants.
*/
mdContext->buf[0]?=?(UINT4)0x67452301;
mdContext->buf[1]?=?(UINT4)0xefcdab89;
mdContext->buf[2]?=?(UINT4)0x98badcfe;
mdContext->buf[3]?=?(UINT4)0x10325476;
}
void?MD5Update(MD5_CTX?*mdContext?unsigned?char?*inBuf?unsigned?int?inLen)
{
UINT4?in[16];
int?mdi;
unsigned?int?i?ii;
/*?compute?number?of?bytes?mod?64?*/
mdi?=?(int)((mdContext->i[0]?>>?3)?&?0x3F);
/*?update?number?of?bits?*/
if?((mdContext->i[0]?+?((UINT4)inLen?<3))?i[0])
mdContext->i[1]++;
mdContext->i[0]?+=?((UINT4)inLen?<3);
mdContext->i[1]?+=?((UINT4)inLen?>>?29);
while?(inLen--)?{
/*?add?new?character?to?buffer?increment?mdi?*/
mdContext->in[mdi++]?=?*inBuf++;
/*?transform?if?necessary?*/
if?(mdi?==?0x40)?{
for?(i?=?0?ii?=?0;?i?16;?i++?ii?+=?4)
in[i]?=?(((UINT4)mdContext->in[ii?+?3])?<24)?|
(((UINT4)mdContext->in[ii?+?2])?<16)?|
(((UINT4)mdContext->in[ii?+?1])?<8)?|
((UINT4)mdContext->in[ii]);
Transform(mdContext->buf?in);
mdi?=?0;
}
}
}
void?MD5Final(MD5_CTX?*mdContext)
{
UINT4?in[16];
int?mdi;
unsigned?int?i?ii;
unsigned?int?padLen;
/*?save?number?of?bits?*/
in[14]?=
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-06-01?16:05??文件查重v1.0\
?????文件?????????314??2018-06-01?16:11??文件查重v1.0\ReadMe.txt
?????文件??????252416??2018-06-01?15:41??文件查重v1.0\文件查重v1.0(將程序放到需要查重的目錄下運(yùn)行).exe
?????目錄???????????0??2018-06-01?16:04??文件查重v1.0\源碼\
?????目錄???????????0??2018-06-01?16:11??文件查重v1.0\源碼\RepeatFileCheck\
?????文件?????????707??2018-06-01?13:50??文件查重v1.0\源碼\RepeatFileCheck\FIleMd5.h
?????文件????????8777??2018-06-01?13:50??文件查重v1.0\源碼\RepeatFileCheck\FileMd5.cpp
?????文件?????????314??2018-06-01?16:11??文件查重v1.0\源碼\RepeatFileCheck\ReadMe.txt
?????文件?????????314??2018-06-01?16:11??文件查重v1.0\源碼\RepeatFileCheck\ReadMe2.txt
?????文件????????6117??2018-06-01?16:00??文件查重v1.0\源碼\RepeatFileCheck\RepeatFileCheck.vcxproj
?????文件????????2519??2018-06-01?16:00??文件查重v1.0\源碼\RepeatFileCheck\源.cpp
?????文件????????1459??2018-05-31?21:27??文件查重v1.0\源碼\RepeatFileCheck.sln
評(píng)論
共有 條評(píng)論