Hi. From the documentation of CCProxy, I got this function that decodes a user password. (string with numbers to string with characters)
I need the exact opposite as well, the code needed to encode the password. (to a 'number string').
To someone who knows a little C, this should be fairly trivial. If you can reproduce this function in JavaScript that would be even more terrific. That way I don't have to use a command line application child process to do this simple encoding/decoding.
Can you help me? Thanks!
#include "stdafx.h" #include <stdio.h> #include <stdlib.h> #include <string.h> #define _MAX_BUF_LEN 2014 static char* PasswordDecode(char * szPassword) { char szEncode[1024]; char strDecodePass[_MAX_BUF_LEN + 1] = { "" }, strPass[_MAX_BUF_LEN + 1] = { "" }; strcpy(strDecodePass, szPassword); for (unsigned int i = 0; i < strlen(strDecodePass) / 3; i++) { char szCode[_MAX_BUF_LEN + 1]; strcpy(szCode, strDecodePass + i * 3); szCode[3] = 0; int nCode = atoi(szCode); nCode = 999 - nCode; sprintf(szEncode, "%c", nCode); strcat(strPass, szEncode); } strcpy(szPassword, strPass); return szPassword; };
int main(int argc, char **argv) { printf( PasswordDecode(argv[1]) ); return 0; }
To test if your Encode function is correct, the following plain text passwords and their encoded equivalent.
babble 901902901901891898 anus 902889882884 abcdefghijklmnopqrstuvwxyz1234567890 902901900899898897896895894893892891890889888887886885884883882881880879878877950949948947946945944943942951
Top comments (3)
What's holding you back from translating the function yourself?
My honest advice is to give it a go, try and see if can google just enough C to understand the code and translate it, line by line. Once you have done that there may still be a bug. If you can post that code it will be much easier to help you get to the finish. Finding a bug is fun, like a little puzzle. Also a much smaller effort than translating the whole thing.
Are the only allowed characters letters and digits? Case?
I am not sure. I think most utf8 characters are allowed. Some would have to check the CCProxy documentation to be sure. Can't you tell by the code in my post?
In my case, if a-zA-Z0-9 works then that is all I need.