PDA

View Full Version : Good Encryption encoder/decoder



fortgrizz
08-02-2008, 07:02 PM
Hi Im kinda new at encryption and was wondering if any one new of a good free or inexpensive encryption encoder/decoder I could download. Currently I am trying to decipher this, eb5feccbdc5d78ecd*cb6b*a*8255cba. Could someone tell me what type of encryption this is? (also if you want to go ahead and crack it for me that would be great!)

fortgrizz
08-02-2008, 10:18 PM
still trying to crack it, so far Im having no luck. Just found out its not md5 either. I dont know if I mentioned this before, but it was located inside a cookie

Joemighty
08-05-2008, 01:06 PM
The admins at HEMU.co.nr might know...

Moonbat
08-06-2008, 09:06 AM
I'm positive it's MD5. If you found it in a cookie, it usually is MD5.

clevelandslim
09-06-2014, 07:09 AM
It's not mandatory that the length of the string be a square number, but when it is it's a lot easier. Also, it's a much more interesting problem to solve when allowing for any length string.

To be efficient, I want to just work with a character array and not try to construct a 2-D array of char. For non-square number length strings, padding needs to be inserted to get to the square number length.

/*
* Caesar's Box decoder/encoder
*/
#include <stdio.h>
#include <string.h>
#include <math.h>

#define MAX_LINE_LEN *024
#define SKIP '_'

typedef enum { false = 0, true } bool;
typedef enum { ENCODE, DECODE } xf_t;

void caesarBoxTransform(char *, char *);
void insertChar(char *, size_t, char);
void insertPadding(char *,xf_t);
bool isSquareNumber(unsigned);

char cipherText[MAX_LINE_LEN];
char plainText[MAX_LINE_LEN] = "";

int main(int argc, char *argv[]) {
while (true) {
do {
printf("Enter Caesar's Ciphertext (no spaces): ");
fgets( cipherText,MAX_LINE_LEN,stdin );
*( strchr(cipherText,'\n') ) = '\0';
} while ( strchr(cipherText,' ') != NULL );
insertPadding( cipherText, DECODE );
caesarBoxTransform( cipherText, plainText );
printf("\nDecoded: %s",plainText);
strcpy(cipherText,"");
insertPadding( plainText, ENCODE );
caesarBoxTransform( plainText, cipherText );
printf("\nRe-encoded: %s\n\n",cipherText);
}
return 0;
}

/*
* Transform string 'in' and store result in 'out'.
*/
void caesarBoxTransform(char *in, char *out) {
size_t i,j,x,z = 0;
char c;

memset( out,'\0',strlen(in)+* );
x = (size_t)sqrt( (double)strlen(in) );
for (i = 0; i < x; i++) {
for (j = 0; j < x; j++) {
if ((c = in[i+j*x]) != SKIP) {
out[z++] = c;
}
}
}
}

/*
* Insert pad chars in string s, if necessary,
* for unused elements in the Caesar's Box matrix.
*/
void insertPadding(char *s, xf_t xfType) {
static const char skipStr[2] = { SKIP, '\0' };
unsigned x,n,i,j,len = strlen(s);

if (isSquareNumber(n = len) == false) {
while (isSquareNumber(++n) == false);
if (xfType == DECODE) {
x = (unsigned)sqrt(n) - *;
for (i = 0, j = len; i < n-len; i++, j -= x) {
insertChar( s,j,SKIP );
}
} else { /* pad for encoding */
for (i = 0; i < n-len; i++) {
strcat(s,skipStr);
}
}
}
}

/*
* Insert character c at position pos in char array
* s. Assume s has room to insert.
*/
void insertChar(char *s, size_t pos, char c) {
size_t len = strlen(s);

if (pos <= len) {
memmove( &s[pos+*],&s[pos],len-pos );
s[pos] = c;
}
}

/*
* Return true if n is a square number.
*/
bool isSquareNumber(unsigned n) {
unsigned x = (unsigned)sqrt((double)n);
return ((x * x) == n);
}

#if 0

Sample run:

Enter Caesar's Ciphertext (no spaces): gtyorjoteouiabgt

Decoded: greatjobyougotit
Re-encoded: gtyorjoteouiabgt

Enter Caesar's Ciphertext (no spaces): huhuedapyetdws

Decoded: heydudewhatsup
Re-encoded: huhuedapyetdws

Enter Caesar's Ciphertext (no spaces): haeandviaecy

Decoded: haveaniceday
Re-encoded: haeandviaecy

mat1
07-16-2015, 02:11 AM
Encoding Decoding Free is a wonderful free application. I haven't tried cracking any code yet. I'm just here to s***est an application to make your work faster. Pair it up with a VPN that makes your internet experience more wonderful.