snipplrCallback({"id":69765,"title":"decrypting-passwords-in-c","source":"
#include <iostream><\/span><\/div><\/li> #include <string.h><\/span><\/div><\/li> #include <stdlib.h><\/span><\/div><\/li> #include <sstream><\/span><\/div><\/li> <\/div><\/li> using<\/span> namespace<\/span> std;<\/span><\/div><\/li> <\/div><\/li> void<\/span> main(<\/span>)<\/span>{<\/span><\/div><\/li> \t\/\/Variable declarations<\/span><\/div><\/li> \tint<\/span> cont=<\/span>0<\/span>;<\/span><\/div><\/li> \tchar<\/span> password[<\/span>100<\/span>]<\/span>=<\/span>{<\/span>0<\/span>}<\/span>;<\/span><\/div><\/li> \tint<\/span> *<\/span>int_password;<\/span><\/div><\/li> \tchar<\/span> real_password[<\/span>50<\/span>]<\/span>=<\/span>{<\/span>0<\/span>}<\/span>;<\/span><\/div><\/li> \tchar<\/span> *<\/span>decrypted_password;<\/span><\/div><\/li> \tchar<\/span> encrypted_password[<\/span>100<\/span>]<\/span>=<\/span>{<\/span>0<\/span>}<\/span>;<\/span><\/div><\/li> \tint<\/span> aux2[<\/span>2<\/span>]<\/span>=<\/span>{<\/span>0<\/span>}<\/span>;<\/span><\/div><\/li> \tint<\/span> aux3[<\/span>3<\/span>]<\/span>=<\/span>{<\/span>0<\/span>}<\/span>;<\/span><\/div><\/li> \tint<\/span> pos=<\/span>0<\/span>;<\/span><\/div><\/li> \tint<\/span> len;<\/span><\/div><\/li> <\/div><\/li> <\/div><\/li> \tcout<\/span><<<\/span>"Please enter encrypted password: "<\/span>;<\/span><\/div><\/li> \tgets_s(<\/span>password)<\/span>;<\/span>\/\/got 'password' char array<\/span><\/div><\/li> \tlen=<\/span>strlen<\/span>(<\/span>password)<\/span>;<\/span><\/div><\/li> \tint_password=<\/span>new<\/span> int<\/span>[<\/span>len]<\/span>;<\/span>\/\/initializing pointer to int_password<\/span><\/div><\/li> \tfor<\/span>(<\/span>int<\/span> i=<\/span>0<\/span>;<\/span>i<<\/span>len;<\/span>i++<\/span>)<\/span>{<\/span><\/div><\/li> \t\tint_password[<\/span>i]<\/span>=<\/span>password[<\/span>i]<\/span>-<\/span>48<\/span>;<\/span>\/\/calculating char to int according to ascii table<\/span><\/div><\/li> \t}<\/span><\/div><\/li> \tcout<\/span><<<\/span>endl;<\/span><\/div><\/li> \tfor<\/span>(<\/span>int<\/span> i=<\/span>0<\/span>;<\/span>i<<\/span>len;<\/span>i++<\/span>)<\/span>{<\/span><\/div><\/li> \t\tif<\/span>(<\/span>password[<\/span>i]<\/span>>=<\/span>48<\/span> &&<\/span> password[<\/span>i]<\/span><=<\/span>57<\/span>)<\/span>{<\/span><\/div><\/li> \t\t\tcont++<\/span>;<\/span><\/div><\/li> \t\t}<\/span><\/div><\/li> \t\t\/*if all of the characters are numbers, that means encryption <\/span><\/div><\/li> \t\tlevel was simple mode. if any of them is not, then the advanced mode.*\/<\/span><\/div><\/li> \t}<\/span><\/div><\/li> <\/div><\/li> \tcout<\/span><<<\/span>endl;<\/span><\/div><\/li> \tif<\/span>(<\/span>cont==<\/span>len)<\/span>{<\/span> \/\/is simple mode<\/span><\/div><\/li> \t\tcout<\/span><<<\/span>">>Simple-mode encryption type detected."<\/span><<<\/span>endl;<\/span><\/div><\/li> \t\tstring stringpassword(<\/span>password)<\/span>;<\/span>\/\/converting password into a string-type array<\/span><\/div><\/li> \t\tcout<\/span><<<\/span>"Detected string: "<\/span><<<\/span>stringpassword