OK, so they haven't really "cracked" MD5 then, it's really a brute-force attack using a dictionary.
Click here for Toll-Free Service for your business starting at $2.00 per month
This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.
Show posts Menu
<?php
//define some vars
if(!isset($_GET['size'])) $_GET['size'] = "26";
if(!isset($_GET['text'])) $_GET['text'] = "Text";
if(!isset($_GET['font'])) $_GET['font'] = "arial.ttf";
if(!isset($_GET['stroke'])) $_GET['stroke'] = "1";
//find the x and y sizes
$size = imagettfbbox($_GET['size'], 0, $_GET['font'], $_GET['text']);
$xsize = abs($size[0]) + abs($size[2] + 2);
$ysize = abs($size[5]) + abs($size[1] + 2);
//create an image
$image = imagecreate($xsize, $ysize);
//set the background color
$blue = imagecolorallocate($image, 0, 0, 255);
//makes the background color transparent
imagecolortransparent($image, $blue);
//set the text color
if (isset($_GET['r']) && isset($_GET['g']) && isset($_GET['b'])){
$font_color = ImageColorAllocate($image, $_GET['r'], $_GET['g'], $_GET['b']);
}
else {
$font_color = ImageColorAllocate($image, 255,255,255);
}
//set the outline color
if (isset($_GET['or']) && isset($_GET['og']) && isset($_GET['ob'])){
$stroke_color = ImageColorAllocate($image, $_GET['or'], $_GET['og'], $_GET['ob']);
}
else {
$stroke_color = ImageColorAllocate($image, 0, 0, 0);
}
// now draw out the outline (stroke) on the text
$stroke = $_GET['stroke'];
for ($ox = -$stroke; $ox <= $stroke; $ox++) {
for ($oy = -$stroke; $oy <= $stroke; $oy++) {
imagettftext($image, $_GET['size'], 0, abs($size[0])+$ox, abs($size[5])+$oy, -$stroke_color, $_GET['font'], $_GET['text']);
}
}
//print the text
imagettftext($image, $_GET['size'], 0, abs($size[0]), abs($size[5]), -$font_color, $_GET['font'], $_GET['text']);
//set the type of image
// header("Content-type: image/gif");
//barf out the image
imagegif($image);
//free up memory
imagedestroy($image);
?>
function check_email_address($email) {
// First, we check that there's one @ symbol, and that the lengths are right
if (!ereg("[^@]{1,64}@[^@]{1,255}", $email)) {
// Email invalid because wrong number of characters in one section, or wrong number of @ symbols.
return false;
}
// Split it into sections to make life easier
$email_array = explode("@", $email);
$local_array = explode(".", $email_array[0]);
for ($i = 0; $i < sizeof($local_array); $i++) {
if (!ereg("^(([A-Za-z0-9!#$%&'*+/=?^_`{|}~-][A-Za-z0-9!#$%&'*+/=?^_`{|}~\.-]{0,63})|(\"[^(\\|\")]{0,62}\"))$", $local_array[$i])) {
return false;
}
}
if (!ereg("^\[?[0-9\.]+\]?$", $email_array[1])) { // Check if domain is IP. If not, it should be valid domain name
$domain_array = explode(".", $email_array[1]);
if (sizeof($domain_array) < 2) {
return false; // Not enough parts to domain
}
for ($i = 0; $i < sizeof($domain_array); $i++) {
if (!ereg("^(([A-Za-z0-9][A-Za-z0-9-]{0,61}[A-Za-z0-9])|([A-Za-z0-9]+))$", $domain_array[$i])) {
return false;
}
}
}
return true;
}//end check_email_address()