这两天升级MYSQL后,当访问系统权限表时,出警告,说需要使用mysql_fix_privilege_tables来升级。查了一下网上的信息,有很多人都在问这个脚本文件在哪里啊?等等。其实这个脚本本身就是命令了。可以直接执行。
  这个命令默认使用root用户,但是有很多系统root帐号已经被删除了。就要使用参数了。具体的如下:
引用
mysql_fix_privilege_tables --user=aaa --verbose --password=123


  我不知道别人的能不能成功,总之我运行上面的命令总是报错。
引用
This script updates all the mysql privilege tables to be usable by
the current version of MySQL

Got a failure from command:
cat /usr/local/share/mysql/mysql_fix_privilege_tables.sql | /usr/local/bin/mysql --no-defaults --force --user=root --host=localhost --database=mysql
Please check the above output and try again.

Running the script with the --verbose option may give you some information
of what went wrong.

If you get an 'Access denied' error, you should run this script again and
give the MySQL root user password as an argument with the --password= option


  后来研究了一下手册,只要用下面的命令就可以轻松搞定。还让我浪费2小时。希望大家以后不会犯我同样的错误了。
引用
mysql_upgrade --user=aaa --password

  ArthurXF倾情奉献,希望大家多多支持!

现在ArthurXF本人正在搞PHP等技术培训,如果想学习的人可以跟我联系。另外培训的招生简章在这个网址,想了解的可以去看看。
PHP培训招生简章
Tags:
  此文章为ArthurXF原创,转载请报留作者ArthurXF,谢谢。
  mhash是php hash加密算法很强大的扩展,但是php5.3.0以后就不包含这个程序包了,需要自己去下载,http://sourceforge.net/projects/mhash
  php5.2.0默认不挂载,所以就需要自己手动去挂,windows版本安装比较容易,只要extension_dir = "d:\AppServ\php5\ext"设置好,并且将;extension=php_mhash.dll的分号去掉即可。
  可是很多时候发现,还是不能挂载,日志中报错,
引用
PHP Warning:  PHP Startup: Unable to load dynamic library 'd:\\AppServ\\php5\\ext\\php_sqlite.dll' - \xd5\xd2\xb2\xbb\xb5\xbd\xd6\xb8\xb6\xa8\xb5\xc4\xc4\xa3\xbf\xe9\xa1\xa3\r\n in Unknown on line 0

  查找环境变量发现PATH设置也是正常的,可就是不能加载php_mhash.dll,碰到这样的问题解决办法如下:
引用
因为php_mhash.dll需要libmhash.dll才能加载,所以把libmhash.dll复制到C:\WINDOWS\system32下去即可。

由此得到的启发就是,如果在windows下动态链接模块加载不了的,请将相关的libxxx.dll复制到C:\WINDOWS\system32下去即可。

现在ArthurXF本人正在搞PHP等技术培训,如果想学习的人可以跟我联系。另外培训的招生简章在这个网址,想了解的可以去看看。
PHP培训招生简章
Tags:
  这个发现是由一个问题引发出来的。如何根据字符串的位置,把字符串该位置的字符取出来?一般就是用substr函数取该位置长度为1的字符出来就实现了,可是我们还有更加简便的办法,请看下面:
引用
$str = "abc";
echo $str[1];
结果会是 b。
这样其实在php里字符串$str,本身就是数组$str。
$str = "abc";
等同于
$str[0] = "a";
$str[1] = "b";
$str[2] = "c";


这样上面的问题就太容易解决了,把位置减1,再带入数组即可。哈哈,方便啊!
Tags:
学习一下urchin.js的源代码:
引用
//-- Google Analytics Urchin Module
//-- Copyright 2005 Google, All Rights Reserved.

//-- Urchin On Demand Settings ONLY
var _uacct=""; // set up the Urchin Account
var _userv=1; // service mode (0=local,1=remote,2=both)

//-- UTM User Settings
var _ufsc=1; // set client info flag (1=on|0=off)
var _udn="auto"; // (auto|none|domain) set the domain name for cookies
var _uhash="on"; // (on|off) unique domain hash for cookies
var _utimeout="1800"; // set the inactive session timeout in seconds
var _ugifpath="/__utm.gif"; // set the web path to the __utm.gif file
var _utsp="|"; // transaction field separator
var _uflash=1; // set flash version detect option (1=on|0=off)
var _utitle=1; // set the document title detect option (1=on|0=off)
var _ulink=0; // enable linker functionality (1=on|0=off)

//-- UTM Campaign Tracking Settings
var _uctm=1; // set campaign tracking module (1=on|0=off)
var _ucto="15768000"; // set timeout in seconds (6 month default)
var _uccn="utm_campaign"; // name
var _ucmd="utm_medium"; // medium (cpc|cpm|link|email|organic)
var _ucsr="utm_source"; // source
var _uctr="utm_term"; // term/keyword
var _ucct="utm_content"; // content
var _ucid="utm_id"; // id number
var _ucno="utm_nooverride"; // don't override

//-- Auto/Organic Sources and Keywords
var _uOsr=new Array();
var _uOkw=new Array();
_uOsr[0]="google"; _uOkw[0]="q";
_uOsr[1]="yahoo"; _uOkw[1]="p";
_uOsr[2]="msn"; _uOkw[2]="q";
_uOsr[3]="aol"; _uOkw[3]="query";
_uOsr[4]="lycos"; _uOkw[4]="query";
_uOsr[5]="ask"; _uOkw[5]="q";
_uOsr[6]="altavista"; _uOkw[6]="q";
_uOsr[7]="search"; _uOkw[7]="q";
_uOsr[8]="netscape"; _uOkw[8]="query";
_uOsr[9]="earthlink"; _uOkw[9]="q";
_uOsr[10]="cnn"; _uOkw[10]="query";
_uOsr[11]="looksmart"; _uOkw[11]="key";
_uOsr[12]="about"; _uOkw[12]="terms";
_uOsr[13]="excite"; _uOkw[13]="qkw";
_uOsr[14]="mamma"; _uOkw[14]="query";
_uOsr[15]="alltheweb"; _uOkw[15]="q";
_uOsr[16]="gigablast"; _uOkw[16]="q";
_uOsr[17]="voila"; _uOkw[17]="kw";
_uOsr[18]="virgilio"; _uOkw[18]="qs";
_uOsr[19]="teoma"; _uOkw[19]="q";

//-- Auto/Organic Keywords to Ignore
var _uOno=new Array();
//_uOno[0]="urchin";
//_uOno[1]="urchin.com";
//_uOno[2]="www.urchin.com";


//-- Auto/Organic Keywords to Ignore
var _uOno=new Array();
//_uOno[0]="urchin";
//_uOno[1]="urchin.com";
//_uOno[2]="www.urchin.com";


//-- Auto/Organic Keywords to Ignore
var _uOno=new Array();
//_uOno[0]="urchin";
//_uOno[1]="urchin.com";
//_uOno[2]="www.urchin.com";


//-- Auto/Organic Keywords to Ignore
var _uOno=new Array();
//_uOno[0]="urchin";
//_uOno[1]="urchin.com";
//_uOno[2]="www.urchin.com";


//-- Referral domains to Ignore
var _uRno=new Array();
//_uRno[0]=".urchin.com";

//-- **** Don't modify below this point ***
var _uff,_udh,_udt,_ubl=0,_udo="",_uu,_ufns=0,_uns=0,_ur="-",_ufno=0,_ust=0,_ubd=document,_udl=_ubd.location,_u
tcp="/",_uwv="1";
var _ugifpath2="http://www.google-analytics.com/__utm.gif";
if (_udl.protocol=="https:") _ugifpath2="https://ssl.google-analytics.com/__utm.gif";
if (!_utcp || _utcp=="") _utcp="/";
function urchinTracker(page) {
if (_udl.protocol=="file:") return;
if (_uff && (!page || page=="")) return;
var a,b,c,v,z,k,x="",s="",f=0;
var nx=" expires=Sun, 18 Jan 2038 00:00:00 GMT;";
var dc=_ubd.cookie;
_udh=_uDomain();
_uu=Math.round(Math.random()*2147483647);
_udt=new Date();
_ust=Math.round(_udt.getTime()/1000);
a=dc.indexOf("__utma="+_udh);
b=dc.indexOf("__utmb="+_udh);
c=dc.indexOf("__utmc="+_udh);
if (_udn && _udn!="") { _udo=" domain="+_udn+";"; }
if (_utimeout && _utimeout!="") {
x=new Date(_udt.getTime()+(_utimeout*1000));
x=" expires="+x.toGMTString()+";";
}
if (_ulink) {
s=_udl.search;
if(s && s!="" && s.indexOf("__utma=")>=0) {
if (!(_uIN(a=_uGC(s,"__utma=","&")))) a="-";
if (!(_uIN(b=_uGC(s,"__utmb=","&")))) b="-";
if (!(_uIN(c=_uGC(s,"__utmc=","&")))) c="-";
v=_uGC(s,"__utmv=","&");
z=_uGC(s,"__utmz=","&");
k=_uGC(s,"__utmk=","&");
if ((k*1) != ((_uHash(a+b+c+z+v)*1)+(_udh*1))) {_ubl=1;a="-";b="-";c="-";z="-";v="-";}
if (a!="-" && b!="-" && c!="-") f=1;
else if(a!="-") f=2;
}
}
if(f==1) {
_ubd.cookie="__utma="+a+"; path="+_utcp+";"+nx+_udo;
_ubd.cookie="__utmb="+b+"; path="+_utcp+";"+x+_udo;
_ubd.cookie="__utmc="+c+"; path="+_utcp+";"+_udo;
} else if (f==2) {
a=_uFixA(s,"&",_ust);
_ubd.cookie="__utma="+a+"; path="+_utcp+";"+nx+_udo;
_ubd.cookie="__utmb="+_udh+"; path="+_utcp+";"+x+_udo;
_ubd.cookie="__utmc="+_udh+"; path="+_utcp+";"+_udo;
_ufns=1;
} else if (a>=0 && b>=0 && c>=0) {
_ubd.cookie="__utmb="+_udh+"; path="+_utcp+";"+x+_udo;
} else {
if (a>=0) a=_uFixA(_ubd.cookie,";",_ust);
else a=_udh+"."+_uu+"."+_ust+"."+_ust+"."+_ust+".1";
_ubd.cookie="__utma="+a+"; path="+_utcp+";"+nx+_udo;
_ubd.cookie="__utmb="+_udh+"; path="+_utcp+";"+x+_udo;
_ubd.cookie="__utmc="+_udh+"; path="+_utcp+";"+_udo;
_ufns=1;
}
if (_ulink && v && v!="" && v!="-") {
v=unescape(v);
if (v.indexOf(";")==-1) _ubd.cookie="__utmv="+v+"; path="+_utcp+";"+nx+_udo;
}
_uInfo(page);
_ufns=0;
_ufno=0;
_uff=1;
}
function _uInfo(page) {
var p,s="",pg=_udl.pathname+_udl.search;
if (page && page!="") pg=escape(page);
_ur=_ubd.referrer;
if (!_ur || _ur=="") { _ur="-"; }
else {
p=_ur.indexOf(_ubd.domain);
if ((p>=0) && (p<=8)) { _ur="0"; }
if (_ur.indexOf("[")==0 && _ur.lastIndexOf("]")==(_ur.length-1)) { _ur="-"; }
}
s+="&utmn="+_uu;
if (_ufsc) s+=_uBInfo(page);
if (_uctm && (!page || page=="")) s+=_uCInfo();
if (_utitle && _ubd.title && _ubd.title!="") s+="&utmdt="+escape(_ubd.title);
if (_udl.hostname && _udl.hostname!="") s+="&utmhn="+escape(_udl.hostname);
if (!page || page=="") s+="&utmr="+_ur;
s+="&utmp="+pg;
if (_userv==0 || _userv==2) {
var i=new Image(1,1);
i.src=_ugifpath+"?"+"utmwv="+_uwv+s;
i.onload=function() {_uVoid();}
}
if (_userv==1 || _userv==2) {
var i2=new Image(1,1);
i2.src=_ugifpath2+"?"+"utmwv="+_uwv+s+"&utmac="+_uacct+"&utmcc="+_uGCS();
i2.onload=function() { _uVoid(); }
}
return;
}
function _uVoid() { return; }
function _uCInfo() {
if (!_ucto || _ucto=="") { _ucto="15768000"; }
var c="",t="-",t2="-",t3="-",o=0,cs=0,cn=0;i=0;z="-";
var s=_udl.search;
var x=new Date(_udt.getTime()+(_ucto*1000));
var dc=_ubd.cookie;
x=" expires="+x.toGMTString()+";";
if (_ulink && !_ubl) {
z=unescape(_uGC(s,"__utmz=","&"));
if (z!="-" && z.indexOf(";")==-1) { _ubd.cookie="__utmz="+z+"; path="+_utcp+";"+x+_udo; return ""; }
}
z=dc.indexOf("__utmz="+_udh);
if (z>-1) { z=_uGC(dc,"__utmz="+_udh,";"); }
else { z="-"; }
t=_uGC(s,_ucid+"=","&");
t2=_uGC(s,_ucsr+"=","&");
t3=_uGC(s,"gclid=","&");
if ((t!="-" && t!="") || (t2!="-" && t2!="") || (t3!="-" && t3!="")) {
if (t!="-" && t!="") c+="utmcid="+_uEC(t);
if (t2!="-" && t2!="") { if (c != "") c+="|"; c+="utmcsr="+_uEC(t2); }
if (t3!="-" && t3!="") { if (c != "") c+="|"; c+="utmgclid="+_uEC(t3); }
t=_uGC(s,_uccn+"=","&");
if (t!="-" && t!="") c+="|utmccn="+_uEC(t);
else c+="|utmccn=(not+set)";
t=_uGC(s,_ucmd+"=","&");
if (t!="-" && t!="") c+="|utmcmd="+_uEC(t);
else c+="|utmcmd=(not+set)";
t=_uGC(s,_uctr+"=","&");
if (t!="-" && t!="") c+="|utmctr="+_uEC(t);
else { t=_uOrg(1); if (t!="-" && t!="") c+="|utmctr="+_uEC(t); }
t=_uGC(s,_ucct+"=","&");
if (t!="-" && t!="") c+="|utmcct="+_uEC(t);
t=_uGC(s,_ucno+"=","&");
if (t=="1") o=1;
if (z!="-" && o==1) return "";
}
if (c=="-" || c=="") { c=_uOrg(); if (z!="-" && _ufno==1) return ""; }
if (c=="-" || c=="") { if (_ufns==1) c=_uRef(); if (z!="-" && _ufno==1) return ""; }
if (c=="-" || c=="") {
if (z=="-" && _ufns==1) { c="utmccn=(direct)|utmcsr=(direct)|utmcmd=(none)"; }
if (c=="-" || c=="") return "";
}
if (z!="-") {
i=z.indexOf(".");
if (i>-1) i=z.indexOf(".",i+1);
if (i>-1) i=z.indexOf(".",i+1);
if (i>-1) i=z.indexOf(".",i+1);
t=z.substring(i+1,z.length);
if (t.toLowerCase()==c.toLowerCase()) cs=1;
t=z.substring(0,i);
if ((i=t.lastIndexOf(".")) > -1) {
t=t.substring(i+1,t.length);
cn=(t*1);
}
}
if (cs==0 || _ufns==1) {
t=_uGC(dc,"__utma="+_udh,";");
if ((i=t.lastIndexOf(".")) > 9) {
_uns=t.substring(i+1,t.length);
_uns=(_uns*1);
}
cn++;
if (_uns==0) _uns=1;
_ubd.cookie="__utmz="+_udh+"."+_ust+"."+_uns+"."+cn+"."+c+"; path="+_utcp+"; "+x+_udo;
}
if (cs==0 || _ufns==1) return "&utmcn=1";
else return "&utmcr=1";
}
function _uRef() {
if (_ur=="0" || _ur=="" || _ur=="-") return "";
var i=0,h,k,n;
if ((i=_ur.indexOf("://"))<0) return "";
h=_ur.substring(i+3,_ur.length);
if (h.indexOf("/") > -1) {
k=h.substring(h.indexOf("/"),h.length);
if (k.indexOf("?") > -1) k=k.substring(0,k.indexOf("?"));
h=h.substring(0,h.indexOf("/"));
}
h=h.toLowerCase();
n=h;
if ((i=n.indexOf(":")) > -1) n=n.substring(0,i);
for (var ii=0;ii<_uRno.length;ii++) {
if ((i=n.indexOf(_uRno[ii].toLowerCase())) > -1 && n.length==(i+_uRno[ii].length)) { _ufno=1; break; }
}
if (h.indexOf("www.")==0) h=h.substring(4,h.length);
return "utmccn=(referral)|utmcsr="+_uEC(h)+"|"+"utmcct="+_uEC(k)+"|utmcmd=referral";
}
function _uOrg(t) {
if (_ur=="0" || _ur=="" || _ur=="-") return "";
var i=0,h,k;
if ((i=_ur.indexOf("://")) < 0) return "";
h=_ur.substring(i+3,_ur.length);
if (h.indexOf("/") > -1) {
h=h.substring(0,h.indexOf("/"));
}
for (var ii=0;ii<_uOsr.length;ii++) {
if (h.indexOf(_uOsr[ii]) > -1) {
if ((i=_ur.indexOf("?"+_uOkw[ii]+"=")) > -1 || (i=_ur.indexOf("&"+_uOkw[ii]+"=")) > -1) {
k=_ur.substring(i+_uOkw[ii].length+2,_ur.length);
if ((i=k.indexOf("&")) > -1) k=k.substring(0,i);
for (var yy=0;yy<_uOno.length;yy++) {
if (_uOno[yy].toLowerCase()==k.toLowerCase()) { _ufno=1; break; }
}
if (t) return _uEC(k);
else return "utmccn=(organic)|utmcsr="+_uEC(_uOsr[ii])+"|"+"utmctr="+_uEC(k)+"|utmcmd=organic";
}
}
}
return "";
}
function _uBInfo(page) {
var sr="-",sc="-",ul="-",fl="-",je=1;
var n=navigator;
if (self.screen) {
sr=screen.width+"x"+screen.height;
sc=screen.colorDepth+"-bit";
} else if (self.java) {
var j=java.awt.Toolkit.getDefaultToolkit();
var s=j.getScreenSize();
sr=s.width+"x"+s.height;
}
if (n.language) { ul=n.language.toLowerCase(); }
else if (n.browserLanguage) { ul=n.browserLanguage.toLowerCase(); }
je=n.javaEnabled()?1:0;
if (_uflash) fl=_uFlash();
return "&utmsr="+sr+"&utmsc="+sc+"&utmul="+ul+"&utmje="+je+"&utmfl="+fl;
}
function __utmSetTrans() {
var e;
if (_ubd.getElementById) e=_ubd.getElementById("utmtrans");
else if (_ubd.utmform && _ubd.utmform.utmtrans) e=_ubd.utmform.utmtrans;
if (!e) return;
var l=e.value.split("UTM:");
var i,i2,c;
if (_userv==0 || _userv==2) i=new Array();
if (_userv==1 || _userv==2) { i2=new Array(); c=_uGCS(); }

for (var ii=0;ii l[ii]=_uTrim(l[ii]);
if (l[ii].charAt(0)!='T' && l[ii].charAt(0)!='I') continue;
var r=Math.round(Math.random()*2147483647);
if (!_utsp || _utsp=="") _utsp="|";
var f=l[ii].split(_utsp),s="";
if (f[0].charAt(0)=='T') {
s="&utmt=tran"+"&utmn="+r;
f[1]=_uTrim(f[1]); if(f[1]&&f[1]!="") s+="&utmtid="+escape(f[1]);
f[2]=_uTrim(f[2]); if(f[2]&&f[2]!="") s+="&utmtst="+escape(f[2]);
f[3]=_uTrim(f[3]); if(f[3]&&f[3]!="") s+="&utmtto="+escape(f[3]);
f[4]=_uTrim(f[4]); if(f[4]&&f[4]!="") s+="&utmttx="+escape(f[4]);
f[5]=_uTrim(f[5]); if(f[5]&&f[5]!="") s+="&utmtsp="+escape(f[5]);
f[6]=_uTrim(f[6]); if(f[6]&&f[6]!="") s+="&utmtci="+escape(f[6]);
f[7]=_uTrim(f[7]); if(f[7]&&f[7]!="") s+="&utmtrg="+escape(f[7]);
f[8]=_uTrim(f[8]); if(f[8]&&f[8]!="") s+="&utmtco="+escape(f[8]);
} else {
s="&utmt=item"+"&utmn="+r;
f[1]=_uTrim(f[1]); if(f[1]&&f[1]!="") s+="&utmtid="+escape(f[1]);
f[2]=_uTrim(f[2]); if(f[2]&&f[2]!="") s+="&utmipc="+escape(f[2]);
f[3]=_uTrim(f[3]); if(f[3]&&f[3]!="") s+="&utmipn="+escape(f[3]);
f[4]=_uTrim(f[4]); if(f[4]&&f[4]!="") s+="&utmiva="+escape(f[4]);
f[5]=_uTrim(f[5]); if(f[5]&&f[5]!="") s+="&utmipr="+escape(f[5]);
f[6]=_uTrim(f[6]); if(f[6]&&f[6]!="") s+="&utmiqt="+escape(f[6]);
}
if (_userv==0 || _userv==2) {
i[ii]=new Image(1,1);
i[ii].src=_ugifpath+"?"+"utmwv="+_uwv+s;
i[ii].onload=function() { _uVoid(); }
}
if (_userv==1 || _userv==2) {
i2[ii]=new Image(1,1);
i2[ii].src=_ugifpath2+"?"+"utmwv="+_uwv+s+"&utmac="+_uacct+"&utmcc="+c;
i2[ii].onload=function() { _uVoid(); }
}
}
return;
}
function _uFlash() {
var f="-",n=navigator;
if (n.plugins && n.plugins.length) {
for (var ii=0;ii if (n.plugins[ii].name.indexOf('Shockwave Flash')!=-1) {
f=n.plugins[ii].description.split('Shockwave Flash ')[1];
break;
}
}
} else if (window.ActiveXObject) {
for (var ii=10;ii>=2;ii--) {
try {
var fl=eval("new ActiveXObject('ShockwaveFlash.ShockwaveFlash."+ii+"');");
if (fl) { f=ii + '.0'; break; }
}
catch(e) {}
}
}
return f;
}
function __utmLinker(l) {
if (!_ulink) return;
var p,k,a="-",b="-",c="-",z="-",v="-";
var dc=_ubd.cookie;
if (l && l!="") {
if (dc) {
a=escape(_uGC(dc,"__utma="+_udh,";"));
b=escape(_uGC(dc,"__utmb="+_udh,";"));
c=escape(_uGC(dc,"__utmc="+_udh,";"));
z=escape(_uGC(dc,"__utmz="+_udh,";"));
v=escape(_uGC(dc,"__utmv="+_udh,";"));
k=(_uHash(a+b+c+z+v)*1)+(_udh*1);
p="__utma="+a+"&__utmb="+b+"&__utmc="+c+"&__utmz="+z+"&__utmv="+v+"&__utmk="+k;
}
if (p) {
if (l.indexOf("?")<=-1) { document.location=l+"?"+p; }
else { document.location=l+"&"+p; }
} else { document.location=l; }
}
}
function __utmLinkPost(f) {
if (!_ulink) return;
var p,k,a="-",b="-",c="-",z="-",v="-";
var dc=_ubd.cookie;
if (!f || !f.action) return;
if (dc) {
a=escape(_uGC(dc,"__utma="+_udh,";"));
b=escape(_uGC(dc,"__utmb="+_udh,";"));
c=escape(_uGC(dc,"__utmc="+_udh,";"));
z=escape(_uGC(dc,"__utmz="+_udh,";"));
v=escape(_uGC(dc,"__utmv="+_udh,";"));
k=(_uHash(a+b+c+z+v)*1)+(_udh*1);
p="__utma="+a+"&__utmb="+b+"&__utmc="+c+"&__utmz="+z+"&__utmv="+v+"&__utmk="+k;
}
if (p) {
if (f.action.indexOf("?")<=-1) f.action+="?"+p;
else f.action+="&"+p;
}
return;
}
function __utmSetVar(v) {
if (!v || v=="") return;
var r=Math.round(Math.random() * 2147483647);
_ubd.cookie="__utmv="+_udh+"."+escape(v)+"; path="+_utcp+"; expires=Sun, 18 Jan 2038 00:00:00 GMT;"+_udo;
var s="&utmt=var&utmn="+r;
if (_userv==0 || _userv==2) {
var i=new Image(1,1);
i.src=_ugifpath+"?"+"utmwv="+_uwv+s;
i.onload=function() { _uVoid(); }
}
if (_userv==1 || _userv==2) {
var i2=new Image(1,1);
i2.src=_ugifpath2+"?"+"utmwv="+_uwv+s+"&utmac="+_uacct+"&utmcc="+_uGCS();
i2.onload=function() { _uVoid(); }
}
}
function _uGCS() {
var t,c="",dc=_ubd.cookie;
if ((t=_uGC(dc,"__utma="+_udh,";"))!="-") c+=escape("__utma="+t+";+");
if ((t=_uGC(dc,"__utmb="+_udh,";"))!="-") c+=escape("__utmb="+t+";+");
if ((t=_uGC(dc,"__utmc="+_udh,";"))!="-") c+=escape("__utmc="+t+";+");
if ((t=_uGC(dc,"__utmz="+_udh,";"))!="-") c+=escape("__utmz="+t+";+");
if ((t=_uGC(dc,"__utmv="+_udh,";"))!="-") c+=escape("__utmv="+t+";");
if (c.charAt(c.length-1)=="+") c=c.substring(0,c.length-1);
return c;
}
function _uGC(l,n,s) {
if (!l || l=="" || !n || n=="" || !s || s=="") return "-";
var i,i2,i3,c="-";
i=l.indexOf(n);
i3=n.indexOf("=")+1;
if (i > -1) {
i2=l.indexOf(s,i); if (i2 < 0) { i2=l.length; }
c=l.substring((i+i3),i2);
}
return c;
}
function _uDomain() {
if (!_udn || _udn=="" || _udn=="none") { _udn=""; return 1; }
if (_udn=="auto") {
var d=_ubd.domain;
if (d.substring(0,4)=="www.") {
d=d.substring(4,d.length);
}
_udn=d;
}
if (_uhash=="off") return 1;
return _uHash(_udn);
}
function _uHash(d) {
if (!d || d=="") return 1;
var h=0,g=0;
for (var i=d.length-1;i>=0;i--) {
var c=parseInt(d.charCodeAt(i));
h=((h << 6) & 0xfffffff) + c + (c << 14);
if ((g=h & 0xfe00000)!=0) h=(h ^ (g >> 21));
}
return h;
}
function _uFixA(c,s,t) {
if (!c || c=="" || !s || s=="" || !t || t=="") return "-";
var a=_uGC(c,"__utma="+_udh,s);
var lt=0,i=0;
if ((i=a.lastIndexOf(".")) > 9) {
_uns=a.substring(i+1,a.length);
_uns=(_uns*1)+1;
a=a.substring(0,i);
if ((i=a.lastIndexOf(".")) > 7) {
lt=a.substring(i+1,a.length);
a=a.substring(0,i);
}
if ((i=a.lastIndexOf(".")) > 5) {
a=a.substring(0,i);
}
a+="."+lt+"."+t+"."+_uns;
}
return a;
}
function _uTrim(s) {
if (!s || s=="") return "";
while ((s.charAt(0)==' ') || (s.charAt(0)=='\n') || (s.charAt(0,1)=='\r')) s=s.substring(1,s.length);
while ((s.charAt(s.length-1)==' ') || (s.charAt(s.length-1)=='\n') || (s.charAt(s.length-1)=='\r')) s=s.subst
ring(0,s.length-1);
return s;
}
function _uEC(s) {
var n="";
if (!s || s=="") return "";
for (var i=0;i return n;
}
function __utmVisitorCode() {
var r=0,t=0,i=0,i2=0,m=31;
var a=_uGC(_ubd.cookie,"__utma="+_udh,";");
if ((i=a.indexOf(".",0))<0) return;
if ((i2=a.indexOf(".",i+1))>0) r=a.substring(i+1,i2); else return "";
if ((i=a.indexOf(".",i2+1))>0) t=a.substring(i2+1,i); else return "";
var c=new Array('A','B','C','D','E','F','G','H','J','K','L','M','N','P','R','S','T','U','V','W','X','Y','Z','1
','2','3','4','5','6','7','8','9');
return c[r>>28&m]+c[r>>23&m]+c[r>>18&m]+c[r>>13&m]+"-"+c[r>>8&m]+c[r>>3&m]+c[((r&7)<<2)+(t>>30&3)]+c[t>>25&m]+
c[t>>20&m]+"-"+c[t>>15&m]+c[t>>10&m]+c[t>>5&m]+c[t&m];
}
function _uIN(n) {
if (!n) return false;
for (i=0;i var c=n.charAt(i);
if ((c<"0" || c>"9") && (c!=".")) return false;
}
return true;
}

hash加密全家族

2007/11/17 15:05 ArthurXF
  我们曾经或多或少都会碰到过MD5密码文件校验之类的。知道MD5是一种不可逆的加密算法。其实MD5只是hash(哈希)中的一种运算规则。那么除了MD5还有多少种呢?请看下面:
引用
print_r(hash_algos());
?>
Array
(
   [0] => md4
   [1] => md5
   [2] => sha1
   [3] => sha256
   [4] => sha384
   [5] => sha512
   [6] => ripemd128
   [7] => ripemd160
   [8] => whirlpool
   [9] => tiger128,3
   [10] => tiger160,3
   [11] => tiger192,3
   [12] => tiger128,4
   [13] => tiger160,4
   [14] => tiger192,4
   [15] => snefru
   [16] => gost
   [17] => adler32
   [18] => crc32
   [19] => crc32b
   [20] => haval128,3
   [21] => haval160,3
   [22] => haval192,3
   [23] => haval224,3
   [24] => haval256,3
   [25] => haval128,4
   [26] => haval160,4
   [27] => haval192,4
   [28] => haval224,4
   [29] => haval256,4
   [30] => haval128,5
   [31] => haval160,5
   [32] => haval192,5
   [33] => haval224,5
   [34] => haval256,5
)


哇!原来hash的运算规则有这么多啊,有好多都是我们所不熟悉的,那么当我们看到一段不规则的字符串的时候,我们如何推断大概是用哪种加密算法生成的呢?请看我们的例子:
引用
我们对http://www.bizeway.net/加密,结果如下:
md2 = 6052a4afb1c91673a19511d87ca7bf9c
md4 = a4b0885c2b84b05320e3f9ac5f16d888
md5 = 5e886a15279d0b021909736d0c7e4eb5
sha1 = b3ef5fc0b12c90353a7355af157e8b5120194516
sha256 = b959552cc7fab5ed47550ba7c0890585c751d78e7a3f6b6866589a7647e4001b
sha384 = 1b0a29f9859d5a7979c39d19df61ed62670b40c6f751f69b9efac9ced84646d234a2ee1601de13db79823d0f8be04c24
sha512 = 0e2ada52b6955ae9b70b1273bfedc6a8974a3a573cd3dee6cf60b9c97de4c78906ed2deb1a291f147ebe0f4bf192680b1a3bef1e9d72f9dca5fecc7c55dd5fdd
ripemd128 = 1c37bca1b2c3a9cd315336b11da1cc51
ripemd160 = 561c00de12c091d4c213baa861c7021474cedae1
ripemd256 = 34dd5a7b2b5cf633c67964f6a2f36266fe24a3b24f9ba4198f09ec839f241181
ripemd320 = ae7bf6f8d0dfcb8072c2f7f7afbecea397570130fa605bb4ee29d65a4049d5a6d00e030938ad2d0c
whirlpool = 8144f3cb8708ca83b1a14438faab52a4b3857a8793ead44c3accacc127b9615f60365dc146522cbda39298fc299a60524eb5e2779f4aa23ed65b156a2b1f1009
tiger128,3 = 982500b72f18c6390b739d0c7f26010b
tiger160,3 = 982500b72f18c6390b739d0c7f26010b839bbed1
tiger192,3 = 982500b72f18c6390b739d0c7f26010b839bbed1a2cb6f6b
tiger128,4 = 3d08e277ad45ea8954631975e30f5857
tiger160,4 = 3d08e277ad45ea8954631975e30f58576cf28c89
tiger192,4 = 3d08e277ad45ea8954631975e30f58576cf28c89eb4de64a
snefru = 271c5f57081c06887292f8e7d852cc1a9b76bc1948fcb31ed748a76650b8ac61
gost = 7344f382e8af17c61e1cd6998d6ad636960f8bcaeeb5c8994130811cce082627
adler32 = 8b082c67
crc32 = f2a81a53
crc32b = ba25f4f1
haval128,3 = d82c54644cca5c6c9b523e8a58089165
haval160,3 = a56db9796f5e54618c3cf8e74719038e525473df
haval192,3 = d56cc89a444810f8c36475a60c8170ced52692a27f9deffb
haval224,3 = fa2759e6289d1b4231df611af6f00a18338964c5e0100aa15975fc02
haval256,3 = 1ec91a5cb89170eb7c185105802850f97a4cf60aa7a3511a8e37a5db804e9917
haval128,4 = aac659a7e7e8f8f5262803d9b49233c4
haval160,4 = e202b7ddeef36e14c5bf8e2e021af865f82c7710
haval192,4 = c7d0dae89617abcc4880e835898de662e22c372fb364d1c4
haval224,4 = 30d8772a3ff47cbc616a58711c4de4555aa04791141f3859d74c5150
haval256,4 = 7748ebecc45adff32b42608f43775fe0803abc908793061cb05923f7d356d303
haval128,5 = 7cd16ab3dd2c05ac2c8c61efd63ea3cb
haval160,5 = 83d38a838eabd27582e423ce31767abc75b4292b
haval192,5 = 1298d602d4761d895f664baa74392b1f544ce1ead2dcc3ad
haval224,5 = a306fe5b1947c39989a23c578f066625d78e0f8a4bd99cbb837f6c40
haval256,5 = a4256c1f4415376340f3ac48e0c26ce9d109297f034392c0341863f5c514eb94

希望上面的资料能够给大家一些帮助
Tags:
分页: 75/128 第一页 上页 70 71 72 73 74 75 76 77 78 79 下页 最后页 [ 显示模式: 摘要 | 列表 ]