http://sourceforge.jp/projects/tomoyo/lists/archive/users/2009-November/000686.html
http://kumaneko-sakura.sblo.jp/article/22916756.html で MD5 のハッシュ値を選ぶ方法を示しましたが、今回は以下のようなプログラムを作成して自動化してみました。
#include <stdio.h> #include <unistd.h> #include <string.h> #include <sys/time.h> int main(int argc, char *argv[]) { struct timeval tv; char buffer[1024]; memset(buffer, 0, sizeof(buffer)); chdir("/ccs/"); gettimeofday(&tv, NULL); while (1) { FILE *fp = popen("tar -zcf /usr/src/rpm/SOURCES/ccs-patch-1.7.1-20091111.tar.gz --exclude .svn -- *; md5sum /usr/src/rpm/SOURCES/ccs-patch-1.7.1-20091111.tar.gz", "r"); if (!fp) break; fgets(buffer, sizeof(buffer) - 1, fp); pclose(fp); printf("%s", buffer); if (buffer[0] == buffer[1] && buffer[1] == buffer[2] && buffer[2] == buffer[3]) break; tv.tv_sec++; settimeofday(&tv, 0); } return 0; } |
さすが自動化すると速いです。4文字連続一致というなかなか出ない値を数秒とか数分とかでゲットできました。(笑)