All pastes #476078 Raw Edit

Stuff

public text v1 · immutable
·published 2007-05-07 21:31 UTC
rendered paste body
/*
	Encryption Algorithm
	Coded by a59
	5 - 07 - 07
*/
#include <stdio.h>
#include <windows.h>

const char CryptKey[ ] = "ZXhArCvCphRWFuUvvXjQWhyXELbixlPqhxHZjEBoxYjDSMJiKN";

void Encrypt( char* szString )
{
	int iLen = strlen( szString );

	for( int i = 0; i < iLen; i++ )
	{
		szString[ i ] ^= ( CryptKey[ iLen - i ] & 0x00A3 );

		if( i % 2 == 0 )
		{			
			szString[ i ] ^= ( 0x012C % ( i ^ iLen ) );
			szString[ i ] += ( CryptKey[ iLen ] & i );
		} else {
			szString[ i ] = 0x05 ^ szString[ i ];
		}

		if( i < 3 )
		{
			szString[ i ] -= ( iLen | ( i % 5 ) );
			szString[ i ] ^= ( i + 1 );
		} else {
			szString[ i ] = CryptKey[ i % 3 ] ^ szString[ i ];
		}
		
		szString[ i ] += 0x05;

		printf( "\\x%02X", szString[ i ] );
	}
}

void Decrypt( char* szString )
{
	int iLen = strlen( szString );

	for( int i = 0; i < iLen; i++ )
	{
		szString[ i ] -= 0x05;

		if( i < 3 )
		{
			szString[ i ] = ( i + 1 ) ^ szString[ i ];
			szString[ i ] += ( iLen | ( i % 5 ) );
		} else {
			szString[ i ] ^= CryptKey[ i % 3 ];
		}

		if( i % 2 == 0 )
		{
			szString[ i ] -= ( CryptKey[ iLen ] & i );
			szString[ i ] = ( 0x012C % ( i ^ iLen ) ^ szString[ i ] );
		} else {
			szString[ i ] ^= 0x05;
		}

		szString[ i ] = ( ( CryptKey[ iLen - i ] & 0x00A3 ) ^ szString[ i ] );
	
		printf( "%c", szString[ i ] );
	}
}

int main( int argc, char* argv[ ] )
{
	Encrypt( argv[ 1 ] );

	return 0;
}