poprawka na czas
This commit is contained in:
@@ -40,7 +40,6 @@ int main(int argc, char** argv) {
|
|||||||
MPI_Init(NULL, NULL);
|
MPI_Init(NULL, NULL);
|
||||||
|
|
||||||
int size,rank,strSize;
|
int size,rank,strSize;
|
||||||
short success = 1,sumSuccess = 1;
|
|
||||||
TTiming czasomierzacz;
|
TTiming czasomierzacz;
|
||||||
|
|
||||||
MPI_Comm_size(MPI_COMM_WORLD, &size);
|
MPI_Comm_size(MPI_COMM_WORLD, &size);
|
||||||
@@ -53,16 +52,12 @@ int main(int argc, char** argv) {
|
|||||||
result = new char[41];
|
result = new char[41];
|
||||||
str = new char[maxStrSize];
|
str = new char[maxStrSize];
|
||||||
|
|
||||||
if (!rank) czasomierzacz.Begin();
|
czasomierzacz.Begin();
|
||||||
success = 0;
|
|
||||||
maxKomb = pow(lexSize,minStrSize-1);
|
maxKomb = pow(lexSize,minStrSize-1);
|
||||||
for(strSize = minStrSize;strSize<=maxStrSize;strSize++){ //petla generujaca jaka ma być długość hasła z którego bedzie generowany hash
|
for(strSize = minStrSize;strSize<=maxStrSize;strSize++){ //petla generujaca jaka ma być długość hasła z którego bedzie generowany hash
|
||||||
maxKomb *= lexSize;
|
maxKomb *= lexSize;
|
||||||
i = rank;
|
i = rank;
|
||||||
|
|
||||||
MPI_Allreduce(&success,&sumSuccess,1,MPI::SHORT,MPI::SUM,MPI_COMM_WORLD);
|
|
||||||
if (sumSuccess > 0) break;
|
|
||||||
|
|
||||||
while(i<maxKomb){//generowanie różnych haseł
|
while(i<maxKomb){//generowanie różnych haseł
|
||||||
for(int j=0;j<strSize;j++){
|
for(int j=0;j<strSize;j++){
|
||||||
str[j] = lex[(i >> (offset*j)) & mask];
|
str[j] = lex[(i >> (offset*j)) & mask];
|
||||||
@@ -71,25 +66,20 @@ int main(int argc, char** argv) {
|
|||||||
sha1((unsigned char*)str,strSize,result); //obliczanie hash z wygenerowanego wcześniej hasła
|
sha1((unsigned char*)str,strSize,result); //obliczanie hash z wygenerowanego wcześniej hasła
|
||||||
|
|
||||||
if(strcasecmp(argv[1],result) == 0){ //znalazłem odpowiedz 109
|
if(strcasecmp(argv[1],result) == 0){ //znalazłem odpowiedz 109
|
||||||
success = 1;
|
|
||||||
|
|
||||||
cout<<endl<<" Złamałem hasha: ";
|
cout<<endl<<" Złamałem hasha: ";
|
||||||
for(int l=0;l<strSize;l++) cout<<str[l];
|
for(int l=0;l<strSize;l++) cout<<str[l];
|
||||||
cout<<endl;
|
cout<<endl;
|
||||||
|
cout<<" Czas = "<<czasomierzacz.End()<<" ms"<<endl<<endl;
|
||||||
|
MPI_Abort(MPI_COMM_WORLD, MPI_SUCCESS);
|
||||||
}
|
}
|
||||||
|
|
||||||
//niech więcej nie liczy po tej pętli while skoro znalazł
|
|
||||||
if (success > 0)
|
|
||||||
break;
|
|
||||||
i+=size;
|
i+=size;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!rank) cout<<" Czas = "<<czasomierzacz.End()<<" ms"<<endl<<endl;
|
if (!rank) cout << "Nie znaleziono!!!" << endl << endl;
|
||||||
|
|
||||||
delete[] result;
|
delete[] result;
|
||||||
delete[] str;
|
delete[] str;
|
||||||
|
|
||||||
MPI_Finalize();
|
MPI_Finalize();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user