我已经用PHP创建了一个captcha图像生成程序。
<?php
function word($n) {
$consonants = "bcdfghjklmnpqrstvwxyzBCDFGHJKLMNPQRSTVWXYZ";
$vowels = "aeiou";
$word[1] = $consonants[rand(0, 41)];
$word[2] .= $vowels[rand(0, 4)];
$word[3] .= $consonants[rand(0, 41)];
$word[4] .= $consonants[rand(0, 41)];
return $word[$n];
}
$xs = 550;
$ys = 300;
$im = imagecreatetruecolor($xs, $ys);
$newim = imagecreatetruecolor($xs, $ys);
imagettftext($im, $ys/5, rand(-10, 10), rand(0, 10), $ys/2, 0xFFFFFF, "geosans.ttf", word(1));
imagettftext($im, $ys/4.5, rand(-10, 10), rand(50, 70), $ys/2, 0xFFFFFF, "geosans.ttf", word(2));
imagettftext($im, $ys/4, rand(-10, 10), rand(100, 150), $ys/2, 0xFFFFFF, "geosans.ttf", word(3));
imagettftext($im, $ys/3.5, rand(-10, 10), rand(185, 210), $ys/2, 0xFFFFFF, "geosans.ttf", word(4));
for ($x=0; $x<=$xs;$x++){
for ($y=0; $y<=$ys;$y++){
$rgba = imagecolorsforindex($im, imagecolorat($im, $x, $y));
$col = imagecolorallocate($newim, $rgba["red"], $rgba["green"], $rgba["blue"]);
$distorted_y = ($y + round(45*sin($x/50)) + imagesy($im)) % imagesy($im);
imagesetpixel($newim, $x, $distorted_y, $col);
}
}
imagefilter($newim, IMG_FILTER_NEGATE);
header("Content-type: image/png");
imagepng($newim);
?>但我该如何应用呢?
官方的captcha网站是如何加密的
这是一个例子
http://www.google.com/recaptcha/api/image?c=03AHJ_VutAc1sMxyCE0N98Kh2AfMGlGmu7_DzzFP3Rn1gLHdbDulOQYK0w-sVrxqHWSTBCfVBipmqY-ywmme2_cuClW5QBRzKdzRSJeMWyme1aoGZ-y0OluiSfn-uKDExfVCo2PGrTao2wWpBLultbUEsctlJ97JXKCQ
总的来说,我在问如何安全地加密我的数据?
发布于 2010-09-12 00:16:25
您可以使用与将密码存储在数据库中相同的方式。用一些随机的盐将它们用MD5散列。
http://www.pixel2life.com/publish/tutorials/118/understanding_md5_password_encryption/
发布于 2010-09-11 23:59:41
谷歌拥有数以百万计的用户,我相信每天都有数十万次的恶意机器人攻击谷歌。在某些情况下,比如base64_encode会起作用--在谷歌的情况下,他们可能会使用PGP (这对大多数应用程序来说都太过分了)。在我看来,中间点应该是类似于base64编码的MCRYPT (保持查询字符串URL友好)的东西。
http://us2.php.net/mcrypt
http://us2.php.net/base64_encode
https://stackoverflow.com/questions/3692969
复制相似问题