㈠ php 亂碼
是編輯器問題, 你打開文件的編碼和文件的原編碼不符, 建議你用word打開, 應該會提示找不到編碼, 然後給你一個可以預覽的選擇框, 預覽哪個能看見不是亂碼的文字就用哪個編碼打開就好了, 還有就是說, 有些php編輯器不支持很多編碼, 比如editplus.
㈡ php的md5 出現亂碼------有關discuz X2的密碼加密方式。
$password = md5($password,$salt);
這個寫錯了,
$password = md5($password . $salt);
㈢ md5 加密 出亂碼 求解
md5
函數的第二個參數是可選的~bool型的~
雖然你傳的是字元串~那麼第二個參數就是true啦~
那麼~第二個參數是什麼用呢。。
看解釋。
string
md5
(
string
str
[,
bool
raw_output]
)
Calculates
the
MD5
hash
of
str
using
the
RSA
Data
Security,
Inc.
MD5
Message-Digest
Algorithm,
and
returns
that
hash.
The
hash
is
a
32-character
hexadecimal
number.
If
the
optional
raw_output
is
set
to
TRUE,
then
the
md5
digest
is
instead
returned
in
raw
binary
format
with
a
length
of
16.
簡單翻譯一下:
用RSA
Data
Security,
Inc.
MD5
Message-Digest演算法計算一個字元串
str
的MD5哈希值並返回.
這個哈希值是一個32個字元的16進制數.
如果可選參數raw_output設置為
true
,則md5函數將改為返回一個未加工的,長度為16的二進制格式的摘要.
---------------
當你把第二個參數設置為false。或者不填。就不會有亂碼了。
echo
md5("admin");
echo
md5("admin",false);
㈣ php源碼打開全是亂碼,是不是跟MD5加密碼有關啊
這是zend進行編譯的。跟md5無關。這個反編譯比較難,網上也是可以找得到的,不過注釋就沒了!
md5加密的,無法進行解密,而且md5加密的全是32位字母和數字的組合,不是亂碼。
至於上面說的MD5加密,一般是用在資料庫的地方,如果在系統中,有需要密碼的地方,你在資料庫中找到相應欄位,把欄位的值修改為上面的值1739fddf100746ca,密碼就是codepub.com
當然,有些人把密碼直接放在文件中,一般是配置文件中,如config.php,你在文件中找到相應的參數,如password等,把後面的值替換,與資料庫同理。
㈤ php驗證碼亂碼
呵呵,這個程序沒有問題
imagettftext($im,20,0,3,25,$font,"comic.ttf",$str);
這里需要一個comic.ttf字體文件,必須放在那個php程序同目錄下
你是不是沒有這個字體文件
如果沒有,可以到系統的C:\Windows\Fonts目錄下拷貝一個(拷個幾百KB大小的就足夠用了)
我試了你的程序,生成的圖片效果不是很好,我以前寫了一個,給你參考下把,雖然也是修改的網上的:
<?
//獲取驗證碼圖片模塊
session_start();
//記得去掉下面注釋
if (!isset($_GET["sid"])||$_GET["sid"]==""||$_GET["sid"]!=session_id())die();
Header("Content-type:image/png");
//定義header,聲明圖片文件,最好是png,無版權之擾;
//生成新的四位整數驗證碼
//session_id($_GET["sid"]);
//開啟session;
$authnum_session = '';
$str = '';
//定義用來顯示在圖片上的數字和字母;
$l = strlen($str);
//得到字串的長度;
//循環隨機抽取四位前面定義的字母和數字;
for ($i=1; $i<=4; $i++)
{
$num=rand(0,$l-1);
//每次隨機抽取一位數字;從第一個字到該字串最大長度,
//減1是因為截取字元是從0開始起算;這樣34字元任意都有可能排在其中;
$authnum_session.= $str[$num];
//將通過數字得來的字元連起來一共是四位;
}
$_SESSION["checkCode"]=$authnum_session;
//用session來做驗證也不錯;注冊session,名稱為authnum_session,
//其它頁面只要包含了該圖片
//即可以通過$_SESSION["checkCode"]來調用
//生成驗證碼圖片,
//srand((double)microtime()*1000000);
mt_srand();
$im = imagecreate(100,40);//圖片寬與高;
//主要用到黑白灰三種色;
$black = ImageColorAllocate($im, mt_rand(0,245),mt_rand(0,200),mt_rand(0,200));
$white = ImageColorAllocate($im, 255,255,255);
$gray = ImageColorAllocate($im, 200,200,200);
//將四位整數驗證碼繪入圖片
imagefill($im,168,30,$gray);
//如不用干擾線,注釋就行了;
$li = ImageColorAllocate($im, 220,220,220);
for ($i=0; $i<0; $i++)
{//加入3條干擾線;也可以不要;視情況而定,因為可能影響用戶輸入;
imageline($im,mt_rand(0,30),mt_rand(0,41),mt_rand(80,90),mt_rand(0,41),$li);
} //字元在圖片的位置;
//imagestring($im, 5, 8, 2, $authnum_session, $white);
// Set the enviroment variable for GD
putenv('GDFONTPATH=' . realpath('.'));
// Name the font to be used (note the lack of the .ttf extension)
//$font = 'mvboli';
//$font = imageloadfont("mvboli.ttf");
//imagestring($im,$font, 8, 2, $authnum_session, $white);
//imagettftext ( $im,20.0, 0, 0, 30, $white,"FELIXTI.TTF", $authnum_session );
for ($i=0; $i<4; $i++)
{
imagettftext ( $im,20.0, mt_rand(0,40)-20, $i*25+3, 30, $white,"FELIXTI.TTF", substr($authnum_session,$i,1) );
}
for ($i=0; $i<90; $i++) //加入干擾象素
{
imagesetpixel($im, mt_rand()%100-2 , mt_rand()%40-2 , $gray);
}
ImagePNG($im);
ImageDestroy($im);
?>
同樣這行代碼需要一個字體文件,你可以把它改成你拷過來的的字體文件名
imagettftext ( $im,20.0, mt_rand(0,40)-20, $i*25+3, 30, $white,"FELIXTI.TTF", substr($authnum_session,$i,1) );
㈥ php 32位md5編碼兩次結果不一樣!
首先你需要了解md5加密的字元串只要有一個位不同,結果就是不同的
PHP中對字元串的表示有兩種形式
第一種是用單引號將字元串引起來,第二種是用雙引號將字元串引起來
這兩種方式表達的字元串是不同的,單引號引起來的字元串就是字元串本身,而雙引號會對字元串中的轉義符號進行轉義
你可以試一下在PHP中輸出下面的例子:
echo"x61x62x63";//輸出abc
echo'x61x62x63';//直接輸出x61x62x63,不對內容進行轉義
傳值過來的是計算字元串x...的值,是不經過轉義的
第二個圖中直接用md5("")計算,雙引號的內容是需要經過轉義的
如果圖2中用$md51=md5('f8');就跟圖1是一個結果了
㈦ burp中對md5解碼後亂碼,怎麼解決
這個是工具的問題吧,用下這個網頁鏈接;PS:沒必要去解碼MD5,這個加密本身就單向加密的,解密工具也只是用密碼典預載入出來的匹配的,復雜一點的就解不出來了
㈧ PHP寫的圖形驗證碼亂碼
我吧我的給你用吧
class wxhVerify {
static function imageVerify($length=4, $mode=1, $width=48, $height=22, $verifyName='verify') {
$randval = randomString($length, $mode);
$_SESSION[$verifyName] = md5($randval);
$width = ($length * 10 + 10) > $width ? $length * 10 + 10 : $width;
$im = @imagecreatetruecolor($width, $height);
$r = Array(225, 255, 255, 223);
$g = Array(225, 236, 237, 255);
$b = Array(225, 236, 166, 125);
$key = mt_rand(0, 3);
//隨機背景色
$backColor = imagecolorallocate($im, $r[$key], $g[$key], $b[$key]);
//邊框色
$borderColor = imagecolorallocate($im, 100, 100, 100);
//點顏色
$pointColor = imagecolorallocate($im, mt_rand(0, 255), mt_rand(0, 255), mt_rand(0, 255));
@imagefilledrectangle($im, 0, 0, $width - 1, $height - 1, $backColor);
@imagerectangle($im, 0, 0, $width - 1, $height - 1, $borderColor);
$stringColor = imagecolorallocate($im, mt_rand(0, 200), mt_rand(0, 120), mt_rand(0, 120));
//干擾
for ($i = 0; $i < 10; $i++) {
$fontcolor = imagecolorallocate($im, mt_rand(0, 255), mt_rand(0, 255), mt_rand(0, 255));
imagearc($im, mt_rand(-10, $width), mt_rand(-10, $height), mt_rand(30, 300), mt_rand(20, 200), 55, 44, $fontcolor);
}
for ($i = 0; $i < 25; $i++) {
$fontcolor = imagecolorallocate($im, mt_rand(0, 255), mt_rand(0, 255), mt_rand(0, 255));
imagesetpixel($im, mt_rand(0, $width), mt_rand(0, $height), $pointColor);
}
for ($i = 0; $i < $length; $i++) {
imagestring($im, 5, $i * 10 + 5, mt_rand(1, 8), $randval{$i}, $stringColor);
}
header('Content-type: image/png');
imagepng($im);
imagedestroy($im);
exit;
}
}
//生成隨機字元串
function randomString($len=6, $type=1, $addChars='') {
switch ($type) {
case 0:
$chars = '' . $addChars;
break;
case 1:
$chars = str_repeat('0123456789', 3);
break;
case 2:
$chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' . $addChars;
break;
case 3:
$chars = 'abcdefghijklmnopqrstuvwxyz' . $addChars;
break;
default :
//默認去掉了容易混淆的字元oOLl和數字01,要增加請使用addChars參數
$chars = '' . $addChars;
break;
}
if ($len > 10) {
//位數過長重復字元串一定次數
$chars = $type == 1 ? str_repeat($chars, $len) : str_repeat($chars, 5);
}
$chars = str_shuffle($chars);
return substr($chars, 0, $len);
}
調用 wxhVerify::imageVerify();
㈨ php md5 密碼怎麼老是錯誤
很簡單啊 說明提供的密碼不對啊 這個MD5加密了的 又不提供給你真正的密碼