//全幅文字を半幅の文字に変換してください
to、 'h'、 'i' '、' j '、
' k '、' l '、' m '、' n '、' o '、' p '、' q '、' r ' 、 ' S' 、 'T' 、
'U' 、 'V' 、 'W' 、 'X' 、 'Y' 、
'Z' 、 'a' 、 'b' 、 'c' 、 'd'、
、 'p'、 'q'、 'r'、 '、'、 ''、 '、'、 '、'、 ''、 '。 %' 、 '#' 、
'! ' 、 '@' 、 '&' 、 '(' , ')' 、
'<' 、 '>' 、 '"' 、 ''' 、 '?' ,
0', '1', '2', '3', '4',
'5', '6', '7', '8', '9',
「あ」 '、'B'、'C'、'D'、'E'、
'F'、'G'、'H'、'I'、'J'、
'K'、'L'、 'M'、'N'、'O'、
'P'、'Q'、'R'、'S'、'T'、
'U'、'V'、'W'、'X ', 'Y' ,
, 'k'、'l'、'm'、'n'、
'o'、'p'、'q'、'r'、's'、
' t'、'u'、' v'、'w'、'x'、
'y'、'z'、'-'、' '、':'、
'.'、','、 '/'、'%'、'#'、
'!'、'@'、'&'、'('、')'、
'<'、'>'、'"'、 「」、「?」、
'~'、'`'
);
return str_replace($DBC, $SBC, $str) // 全角から半角へ
}
//文字をASCIIコードに変換
function asc_encode($c )
{
$len = strlen($c);
$a = 0;
while ($a < $len)
$ ud = 0;
if (ord($ c{$a}) >=0 && ord($c{$a})<=127)
: c {$a})-192)*64 + (ord($c{$a+1})-128);
$a += 2; }) >=224 && ord($c{$a})
{
{$a+1})-128)*64 + ($c{$a+2}) -128); $a}) >=240 && ord($c{$a})
-128)*4096 + (ord($c{$a+2})-128)*64 + (ord($c{$a+1})-128)*64 + a+3}) -128);
$ud = (ord($c{$a})-248)*16777216 + (ord($c{$a+1})-128)*262144 + (ord($c{ $a+2})-128) *4096 + (ord($c{$a+3})-128)*64 + (ord($c{$a+4})-128);
$a += 5;
}
else if (ord($c{$a}) >=252 && ord($c{$a})<=253)
{
= (ord($c{$a})-252)*1073741824 + (ord($c{$a+1})-128)*16777216 + (ord($c{$a+2})-128) * 262144 + (ord($c{$a+3})-128)*4096 + (ord($c{$a+4})-128)*64 + (ord($c{$a+5} ) -128); $a += 6; } else if (ord($c{$a}) >=254 && ord($c{$a})<=255){ //error $ud = 0; $a++; }else{ $ud = 0;
$ud = 0; }
$scill .= "$ud";
}
return $scill;
}
//将字串转变成hashcode
function hashCode($s){
$arr_str_str(
= $len) ($arr_str) ;
$h灰 = 0 ;
for($i=0; $i<$len; $i++){
if(ord($arr_str[$i])>127){
$_str $arr_str[$i].$ arr_str[$i+1].$arr_str[$i+2];
$i+=2;
}else{
$ac_str = $arr_str[$i];
}
$hash = (int)($hash*31 + asc_encode($ac_str)) == 0) {
//31% で可能
$hash &= 0x7fffffff;
}
else{
// $hash = ($ hash & 0x7ffffff) - 2147483648; } } return $hash;}PHP アカウントを保存し、ハッシュコードを入力してログインし、PHP アカウントにログインします。