用PHP写的MD5加密函数的方法
获得知识的途径有很多,现在由小编为大家讲解有关语言编程的文章希望对大家有所帮助 |
“我从事编程语言统计很多年了,有大量的数据来源包括代码存储库、Q&A讨论、招聘广告、社交媒体情况、教程页面访问、学习视频视图、开发者调查等等。数据发表在不同的时间,都可以被认为是精确的,
也可以被认为是有缺陷的,但是它们可以用于发现行业趋势。最后,不要期望一夜之间就变成一个编码忍者。有些人有一种天然的能力,但也是花了很多很多时间来磨练他们的技能,不断的学习新的技术和技巧。”
在过去三年中 XML 经历了许多反复,所以目前存在不同版本的 Microsoft XML 分析器也不奇怪。Internet Explorer 4.0 包含早期版本的 XML 分析器,它比 XSL、XML 数据或者大多数其他的 XML 技术(并且有完全不同的 DOM 模型)要早。该早期版本的分析器包含在 MSXML.dll 库中。从 MSDN XML 开发人员中心(英文)可将分析器升级到较新的一种。
我们极力建议您升级到新的分析器,因为它要强大得多。Internet Explorer 5.0 包括 MSXML 2.0 分析器,它包含 XSL 和 XML 架构的基本版本。MSXML2 是 SQL Server 2000 附带的分析器版本。MSXML2 包含了许多性能增强的功能,并且在总体上提高了性能和可伸缩性。MSXML3 是当前作为“技术预览”附带的版本。MSXML3 包括 XSLT 和 XPath 支持以及 SAX 接口。
C语言视频教程以下为引用的内容: //md5(“字符串”) define(“BITS_TO_A_BYTE”,8); define(“BYTES_TO_A_”,4); define(“BITS_TO_A_WORD”,32); $m_lOnBits=array(30); $m_l2Power=array(30); function LShift($lValue,$iShiftBits) { if ($iShiftBits==0) return $lValue; if ($iShiftBits==31) { if ($lValue&1) { return 0x80000000; } else { return 0; } } if ($iShiftBits < 0 || $iShiftBits > 31) { } if (($lValue&$GLOBALS[31-$iShiftBits])) { $tmpstr=(($lValue&$GLOBALS[31-($iShiftBits+1)])*$GLOBALS[$iShiftBits])|0x80000000; } else { $tmpstr=(($lValue&$GLOBALS[31-$iShiftBits])*$GLOBALS[$iShiftBits]); } return $tmpstr; } function RShift($lValue,$iShiftBits) { if ($iShiftBits==0)return $lValue; if ($iShiftBits==31) { if ($lValue&0x80000000) { return 1; } else { return 0; } } if ($iShiftBits31) { } $tmpstr=floor(($lValue&0x7FFFFFFE)/$GLOBALS[$iShiftBits]); if ($lValue&0x80000000) { $tmpstr=$tmpstr|floor(0x40000000/$GLOBALS[$iShiftBits-1]); } return $tmpstr; } function RotateLeft($lValue,$iShiftBits) { return LShift($lValue,$iShiftBits)|RShift($lValue,(32-$iShiftBits)); } function AddUnsigned($lX,$lY) { $lX8=$lX&0x80000000; $lY8=$lY&0x80000000; $lX4=$lX&0x40000000; $lY4=$lY&0x40000000; $lResult=($lX&0x3FFFFFFF)+($lY&0x3FFFFFFF); if ($lX4&$lY4) { $lResult=$lResult^0x80000000^$lX8^$lY8; } if ($lX4|$lY4) { if ($lResult&0x40000000) { $lResult=$lResult^0xC0000000^$lX8^$lY8; } else { $lResult=$lResult^0x40000000^$lX8^$lY8; } } else { $lResult=$lResult^$lX8^$lY8; } return $lResult; } function md5_F($x,$y,$z) { return ($x&$y)|((~$x)&$z); } function md5_G($x,$y,$z) { return ($x&$z)|($y&(~$z)); } function md5_H($x,$y,$z) { return ($x^$y^$z); } function md5_I($x,$y,$z) { return ($y^($x|(~$z))); } function md5_FF(&$a,$b,$c,$d,$x,$s,$ac) { $a=AddUnsigned($a,AddUnsigned(AddUnsigned(md5_F($b,$c,$d),$x),$ac)); $a=RotateLeft($a,$s); $a=AddUnsigned($a,$b); } function md5_GG(&$a,$b,$c,$d,$x,$s,$ac) { $a=AddUnsigned($a,AddUnsigned(AddUnsigned(md5_G($b,$c,$d),$x),$ac)); $a=RotateLeft($a,$s); $a=AddUnsigned($a,$b); } function md5_HH(&$a,$b,$c,$d,$x,$s,$ac) { $a=AddUnsigned($a,AddUnsigned(AddUnsigned(md5_H($b,$c,$d),$x),$ac)); $a=RotateLeft($a,$s); $a=AddUnsigned($a,$b); } function md5_II(&$a,$b,$c,$d,$x,$s,$ac) { $a=AddUnsigned($a,AddUnsigned(AddUnsigned(md5_I($b,$c,$d),$x),$ac)); $a=RotateLeft($a,$s); $a=AddUnsigned($a,$b); } function ConvertToWordArray($sMessage) { $lWordArray=array(); $MODULUS_BITS=512; $CONGRUENT_BITS=448; $lMessageLength=strlen($sMessage); $lNumberOfWords=(floor(($lMessageLength+floor(($MODULUS_BITS-$CONGRUENT_BITS)/BITS_TO_A_BYTE))/floor($MODULUS_BITS/BITS_TO_A_BYTE))+1)*floor($MODULUS_BITS/BITS_TO_A_WORD); $lBytePosition=0; $lByteCount=0; while(!($lByteCount>=$lMessageLength)) { $lWordCount=floor($lByteCount/BYTES_TO_A_WORD); $lBytePosition=($lByteCount%BYTES_TO_A_WORD)*BITS_TO_A_BYTE; $lWordArray[$lWordCount]=$lWordArray[$lWordCount]|LShift(ord(substr($sMessage,$lByteCount+1-1,1)),$lBytePosition); $lByteCount=$lByteCount+1; } $lWordCount=floor($lByteCount/BYTES_TO_A_WORD); $lBytePosition=($lByteCount%BYTES_TO_A_WORD)*BITS_TO_A_BYTE; $lWordArray[$lWordCount]=$lWordArray[$lWordCount]|LShift(0x80,$lBytePosition); $lWordArray[$lNumberOfWords-2]=LShift($lMessageLength,3); $lWordArray[$lNumberOfWords-1]=RShift($lMessageLength,29); return $lWordArray; } function WordToHex($lValue) { $tmpstr=””; for ($lCount=0; $lCount<=3; $lCount++) { C语言教程 $lByte=RShift($lValue,$lCount*BITS_TO_A_BYTE)&$GLOBALS[BITS_TO_A_BYTE-1]; $tmpstr=$tmpstr.(substr(“0”.dechex($lByte),strlen(“0”.dechex($lByte))-2));//这行可能有问题 } return $tmpstr; } function PHP_MD5($sMessage) { $GLOBALS[0]=intval(1); $GLOBALS[1]=intval(3); $GLOBALS[2]=intval(7); $GLOBALS[3]=intval(15); $GLOBALS[4]=intval(31); $GLOBALS[5]=intval(63); $GLOBALS[6]=intval(127); $GLOBALS[7]=intval(255); $GLOBALS[8]=intval(511); $GLOBALS[9]=intval(1023); $GLOBALS[10]=intval(2047); $GLOBALS[11]=intval(4095); $GLOBALS[12]=intval(8191); $GLOBALS[13]=intval(16383); $GLOBALS[14]=intval(32767); $GLOBALS[15]=intval(65535); $GLOBALS[16]=intval(131071); $GLOBALS[17]=intval(262143); $GLOBALS[18]=intval(524287); $GLOBALS[19]=intval(1048575); $GLOBALS[20]=intval(2097151); $GLOBALS[21]=intval(4194303); $GLOBALS[22]=intval(8388607); $GLOBALS[23]=intval(16777215); $GLOBALS[24]=intval(33554431); $GLOBALS[25]=intval(67108863); $GLOBALS[26]=intval(134217727); $GLOBALS[27]=intval(268435455); $GLOBALS[28]=intval(536870911); $GLOBALS[29]=intval(1073741823); $GLOBALS[30]=intval(2147483647); $GLOBALS[0]=intval(1); $GLOBALS[1]=intval(2); $GLOBALS[2]=intval(4); $GLOBALS[3]=intval(8); $GLOBALS[4]=intval(16); $GLOBALS[5]=intval(32); $GLOBALS[6]=intval(64); $GLOBALS[7]=intval(128); $GLOBALS[8]=intval(256); $GLOBALS[9]=intval(512); $GLOBALS[10]=intval(1024); $GLOBALS[11]=intval(2048); $GLOBALS[12]=intval(4096); $GLOBALS[13]=intval(8192); $GLOBALS[14]=intval(16384); $GLOBALS[15]=intval(32768); $GLOBALS[16]=intval(65536); $GLOBALS[17]=intval(131072); $GLOBALS[18]=intval(262144); $GLOBALS[19]=intval(524288); $GLOBALS[20]=intval(1048576); $GLOBALS[21]=intval(2097152); $GLOBALS[22]=intval(4194304); $GLOBALS[23]=intval(8388608); $GLOBALS[24]=intval(16777216); $GLOBALS[25]=intval(33554432); $GLOBALS[26]=intval(67108864); $GLOBALS[27]=intval(134217728); $GLOBALS[28]=intval(268435456); $GLOBALS[29]=intval(536870912); $GLOBALS[30]=intval(1073741824); $S11=7; $S12=12; $S13=17; $S14=22; $S21=5; $S22=9; $S23=14; $S24=20; $S31=4; $S32=11; $S33=16; $S34=23; $S41=6; $S42=10; $S43=15; $S44=21; $x=ConvertToWordArray($sMessage); $a=0x67452301; $b=0xEFCDAB89; $c=0x98BADCFE; $d=0x10325476; for ($k=0; $k<=count($x); $k=$k+16) { $AA=$a; $BB=$b; $CC=$c; $DD=$d; md5_FF($a,$b,$c,$d,$x[$k+0],$S11,0xD76AA478); md5_FF($d,$a,$b,$c,$x[$k+1],$S12,0xE8C7B756); md5_FF($c,$d,$a,$b,$x[$k+2],$S13,0x242070DB); md5_FF($b,$c,$d,$a,$x[$k+3],$S14,0xC1BDCEEE); md5_FF($a,$b,$c,$d,$x[$k+4],$S11,0xF57C0FAF); md5_FF($d,$a,$b,$c,$x[$k+5],$S12,0x4787C62A); md5_FF($c,$d,$a,$b,$x[$k+6],$S13,0xA8304613); md5_FF($b,$c,$d,$a,$x[$k+7],$S14,0xFD469501); md5_FF($a,$b,$c,$d,$x[$k+8],$S11,0x698098D8); md5_FF($d,$a,$b,$c,$x[$k+9],$S12,0x8B44F7AF); md5_FF($c,$d,$a,$b,$x[$k+10],$S13,0xFFFF5BB1); md5_FF($b,$c,$d,$a,$x[$k+11],$S14,0x895CD7BE); md5_FF($a,$b,$c,$d,$x[$k+12],$S11,0x6B901122); md5_FF($d,$a,$b,$c,$x[$k+13],$S12,0xFD987193); md5_FF($c,$d,$a,$b,$x[$k+14],$S13,0xA679438E); md5_FF($b,$c,$d,$a,$x[$k+15],$S14,0x49B40821); md5_GG($a,$b,$c,$d,$x[$k+1],$S21,0xF61E2562); md5_GG($d,$a,$b,$c,$x[$k+6],$S22,0xC040B340); md5_GG($c,$d,$a,$b,$x[$k+11],$S23,0x265E5A51); md5_GG($b,$c,$d,$a,$x[$k+0],$S24,0xE9B6C7AA); md5_GG($a,$b,$c,$d,$x[$k+5],$S21,0xD62F105D); md5_GG($d,$a,$b,$c,$x[$k+10],$S22,0x2441453); md5_GG($c,$d,$a,$b,$x[$k+15],$S23,0xD8A1E681); md5_GG($b,$c,$d,$a,$x[$k+4],$S24,0xE7D3FBC8); md5_GG($a,$b,$c,$d,$x[$k+9],$S21,0x21E1CDE6); md5_GG($d,$a,$b,$c,$x[$k+14],$S22,0xC33707D6); md5_GG($c,$d,$a,$b,$x[$k+3],$S23,0xF4D50D87); md5_GG($b,$c,$d,$a,$x[$k+8],$S24,0x455A14ED); md5_GG($a,$b,$c,$d,$x[$k+13],$S21,0xA9E3E905); md5_GG($d,$a,$b,$c,$x[$k+2],$S22,0xFCEFA3F8); md5_GG($c,$d,$a,$b,$x[$k+7],$S23,0x676F02D9); md5_GG($b,$c,$d,$a,$x[$k+12],$S24,0x8D2A4C8A); md5_HH($a,$b,$c,$d,$x[$k+5],$S31,0xFFFA3942); md5_HH($d,$a,$b,$c,$x[$k+8],$S32,0x8771F681); md5_HH($c,$d,$a,$b,$x[$k+11],$S33,0x6D9D6122); md5_HH($b,$c,$d,$a,$x[$k+14],$S34,0xFDE5380C); md5_HH($a,$b,$c,$d,$x[$k+1],$S31,0xA4BEEA44); md5_HH($d,$a,$b,$c,$x[$k+4],$S32,0x4BDECFA9); md5_HH($c,$d,$a,$b,$x[$k+7],$S33,0xF6BB4B60); md5_HH($b,$c,$d,$a,$x[$k+10],$S34,0xBEBFBC70); md5_HH($a,$b,$c,$d,$x[$k+13],$S31,0x289B7EC6); md5_HH($d,$a,$b,$c,$x[$k+0],$S32,0xEAA127FA); md5_HH($c,$d,$a,$b,$x[$k+3],$S33,0xD4EF3085); md5_HH($b,$c,$d,$a,$x[$k+6],$S34,0x4881D05); md5_HH($a,$b,$c,$d,$x[$k+9],$S31,0xD9D4D039); md5_HH($d,$a,$b,$c,$x[$k+12],$S32,0xE6DB99E5); md5_HH($c,$d,$a,$b,$x[$k+15],$S33,0x1FA27CF8); md5_HH($b,$c,$d,$a,$x[$k+2],$S34,0xC4AC5665); md5_II($a,$b,$c,$d,$x[$k+0],$S41,0xF4292244); md5_II($d,$a,$b,$c,$x[$k+7],$S42,0x432AFF97); md5_II($c,$d,$a,$b,$x[$k+14],$S43,0xAB9423A7); md5_II($b,$c,$d,$a,$x[$k+5],$S44,0xFC93A039); md5_II($a,$b,$c,$d,$x[$k+12],$S41,0x655B59C3); md5_II($d,$a,$b,$c,$x[$k+3],$S42,0x8F0CCC92); md5_II($c,$d,$a,$b,$x[$k+10],$S43,0xFFEFF47D); md5_II($b,$c,$d,$a,$x[$k+1],$S44,0x85845DD1); md5_II($a,$b,$c,$d,$x[$k+8],$S41,0x6FA87E4F); md5_II($d,$a,$b,$c,$x[$k+15],$S42,0xFE2CE6E0); md5_II($c,$d,$a,$b,$x[$k+6],$S43,0xA3014314); md5_II($b,$c,$d,$a,$x[$k+13],$S44,0x4E0811A1); md5_II($a,$b,$c,$d,$x[$k+4],$S41,0xF7537E82); md5_II($d,$a,$b,$c,$x[$k+11],$S42,0xBD3AF235); md5_II($c,$d,$a,$b,$x[$k+2],$S43,0x2AD7D2BB); md5_II($b,$c,$d,$a,$x[$k+9],$S44,0xEB86D391); $a=AddUnsigned($a,$AA); $b=AddUnsigned($b,$BB); $c=AddUnsigned($c,$CC); $d=AddUnsigned($d,$DD); } c语言程序设计 return strtolower(WordToHex($a).WordToHex($b).WordToHex($c).WordToHex($d)); } $aaa=PHP_MD5(“sdfasdf”); echo $aaa; |
文章很精彩,是否还想了解更多关于视频教程的文章,课课家官网是一个知识的海洋 |