ASP网页设计Asp加密函数代码
缺点:安全性不是太差了,还行,只要你充分利用系统自带的工具;唯一缺点就是执行效率慢,如何进行网站优化以后,效果会比较好。<%PrivateConstBITS_TO_A_BYTE=8PrivateConstBYTES_TO_A_WORD=4PrivateConstBITS_TO_A_WORD=32Privatem_lOnBits(30)Privatem_l2Power(30)PrivateFunctionLShift(lValue,iShiftBits)IfiShiftBits=0ThenLShift=lValueExitFunctionElseIfiShiftBits=31ThenIflValueAnd1ThenLShift=&H80000000ElseLShift=0EndIfExitFunctionElseIfiShiftBits<0OriShiftBits>31ThenErr.Raise6EndIfIf(lValueAndm_l2Power(31-iShiftBits))ThenLShift=((lValueAndm_lOnBits(31-(iShiftBits+1)))*m_l2Power(iShiftBits))Or&H80000000ElseLShift=((lValueAndm_lOnBits(31-iShiftBits))*m_l2Power(iShiftBits))EndIfEndFunctionPrivateFunctionRShift(lValue,iShiftBits)IfiShiftBits=0ThenRShift=lValueExitFunctionElseIfiShiftBits=31ThenIflValueAnd&H80000000ThenRShift=1ElseRShift=0EndIfExitFunctionElseIfiShiftBits<0OriShiftBits>31ThenErr.Raise6EndIfRShift=(lValueAnd&H7FFFFFFE)m_l2Power(iShiftBits)If(lValueAnd&H80000000)ThenRShift=(RShiftOr(&H40000000m_l2Power(iShiftBits-1)))EndIfEndFunctionPrivateFunctionRotateLeft(lValue,iShiftBits)RotateLeft=LShift(lValue,iShiftBits)OrRShift(lValue,(32-iShiftBits))EndFunctionPrivateFunctionAddUnsigned(lX,lY)DimlX4DimlY4DimlX8DimlY8DimlResultlXlX8=lXAnd&H80000000lYlY8=lYAnd&H80000000lXlX4=lXAnd&H40000000lYlY4=lYAnd&H40000000lResult=(lXAnd&H3FFFFFFF)+(lYAnd&H3FFFFFFF)IflX4AndlY4ThenlResultlResult=lResultXor&H80000000XorlX8XorlY8ElseIflX4OrlY4ThenIflResultAnd&H40000000ThenlResultlResult=lResultXor&HC0000000XorlX8XorlY8ElselResultlResult=lResultXor&H40000000XorlX8XorlY8EndIfElselResultlResult=lResultXorlX8XorlY8EndIfAddUnsigned=lResultEndFunctionPrivateFunctionmd5_F(x,y,z)md5_F=(xAndy)Or((Notx)Andz)EndFunctionPrivateFunctionmd5_G(x,y,z)md5_G=(xAndz)Or(yAnd(Notz))EndFunctionPrivateFunctionmd5_H(x,y,z)md5_H=(xXoryXorz)EndFunctionPrivateFunctionmd5_I(x,y,z)md5_I=(yXor(xOr(Notz)))EndFunctionPrivateSubmd5_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)EndSubPrivateSubmd5_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)EndSubPrivateSubmd5_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)EndSubPrivateSubmd5_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)EndSubPrivateFunctionConvertToWordArray(sMessage)DimlMessageLengthDimlNumberOfWordsDimlWordArray()DimlBytePositionDimlByteCountDimlWordCountConstMODULUS_BITS=512ConstCONGRUENT_BITS=448lMessageLength=Len(sMessage)lNumberOfWords=(((lMessageLength+((MODULUS_BITS-CONGRUENT_BITS)BITS_TO_A_BYTE))(MODULUS_BITSBITS_TO_A_BYTE))+1)*(MODULUS_BITSBITS_TO_A_WORD)ReDimlWordArray(lNumberOfWords-1)lBytePosition=0lByteCount=0DoUntillByteCount>=lMessageLengthlWordCount=lByteCountBYTES_TO_A_WORDlBytePosition=(lByteCountModBYTES_TO_A_WORD)*BITS_TO_A_BYTElWordArray(lWordCount)=lWordArray(lWordCount)OrLShift(Asc(Mid(sMessage,lByteCount+1,1)),lBytePosition)lByteCountlByteCount=lByteCount+1LooplWordCount=lByteCountBYTES_TO_A_WORDlBytePosition=(lByteCountModBYTES_TO_A_WORD)*BITS_TO_A_BYTElWordArray(lWordCount)=lWordArray(lWordCount)OrLShift(&H80,lBytePosition)lWordArray(lNumberOfWords-2)=LShift(lMessageLength,3)lWordArray(lNumberOfWords-1)=RShift(lMessageLength,29)ConvertToWordArray=lWordArrayEndFunctionPrivateFunctionWordToHex(lValue)DimlByteDimlCountForlCount=0To3lByte=RShift(lValue,lCount*BITS_TO_A_BYTE)Andm_lOnBits(BITS_TO_A_BYTE-1)WordToHexWordToHex=WordToHex&Right("0"&Hex(lByte),2)NextEndFunctionPublicFunctionMD5(sMessage)m_lOnBits(0)=CLng(1)m_lOnBits(1)=CLng(3)m_lOnBits(2)=CLng(7)m_lOnBits(3)=CLng(15)m_lOnBits(4)=CLng(31)m_lOnBits(5)=CLng(63)m_lOnBits(6)=CLng(127)m_lOnBits(7)=CLng(255)m_lOnBits(8)=CLng(511)m_lOnBits(9)=CLng(1023)m_lOnBits(10)=CLng(2047)m_lOnBits(11)=CLng(4095)m_lOnBits(12)=CLng(8191)m_lOnBits(13)=CLng(16383)m_lOnBits(14)=CLng(32767)m_lOnBits(15)=CLng(65535)m_lOnBits(16)=CLng(131071)m_lOnBits(17)=CLng(262143)m_lOnBits(18)=CLng(524287)m_lOnBits(19)=CLng(1048575)m_lOnBits(20)=CLng(2097151)m_lOnBits(21)=CLng(4194303)m_lOnBits(22)=CLng(8388607)m_lOnBits(23)=CLng(16777215)m_lOnBits(24)=CLng(33554431)m_lOnBits(25)=CLng(67108863)m_lOnBits(26)=CLng(134217727)m_lOnBits(27)=CLng(268435455)m_lOnBits(28)=CLng(536870911)m_lOnBits(29)=CLng(1073741823)m_lOnBits(30)=CLng(2147483647)m_l2Power(0)=CLng(1)m_l2Power(1)=CLng(2)m_l2Power(2)=CLng(4)m_l2Power(3)=CLng(8)m_l2Power(4)=CLng(16)m_l2Power(5)=CLng(32)m_l2Power(6)=CLng(64)m_l2Power(7)=CLng(128)m_l2Power(8)=CLng(256)m_l2Power(9)=CLng(512)m_l2Power(10)=CLng(1024)m_l2Power(11)=CLng(2048)m_l2Power(12)=CLng(4096)m_l2Power(13)=CLng(8192)m_l2Power(14)=CLng(16384)m_l2Power(15)=CLng(32768)m_l2Power(16)=CLng(65536)m_l2Power(17)=CLng(131072)m_l2Power(18)=CLng(262144)m_l2Power(19)=CLng(524288)m_l2Power(20)=CLng(1048576)m_l2Power(21)=CLng(2097152)m_l2Power(22)=CLng(4194304)m_l2Power(23)=CLng(8388608)m_l2Power(24)=CLng(16777216)m_l2Power(25)=CLng(33554432)m_l2Power(26)=CLng(67108864)m_l2Power(27)=CLng(134217728)m_l2Power(28)=CLng(268435456)m_l2Power(29)=CLng(536870912)m_l2Power(30)=CLng(1073741824)DimxDimkDimAADimBBDimCCDimDDDimaDimbDimcDimdConstS11=7ConstS12=12ConstS13=17ConstS14=22ConstS21=5ConstS22=9ConstS23=14ConstS24=20ConstS31=4ConstS32=11ConstS33=16ConstS34=23ConstS41=6ConstS42=10ConstS43=15ConstS44=21x=ConvertToWordArray(sMessage)a=&H67452301b=&HEFCDAB89c=&H98BADCFEd=&H10325476Fork=0ToUBound(x)Step16AA=aBB=bCC=cDD=dmd5_FFa,b,c,d,x(k+0),S11,&HD76AA478md5_FFd,a,b,c,x(k+1),S12,&HE8C7B756md5_FFc,d,a,b,x(k+2),S13,&H242070DBmd5_FFb,c,d,a,x(k+3),S14,&HC1BDCEEEmd5_FFa,b,c,d,x(k+4),S11,&HF57C0FAFmd5_FFd,a,b,c,x(k+5),S12,&H4787C62Amd5_FFc,d,a,b,x(k+6),S13,&HA8304613md5_FFb,c,d,a,x(k+7),S14,&HFD469501md5_FFa,b,c,d,x(k+8),S11,&H698098D8md5_FFd,a,b,c,x(k+9),S12,&H8B44F7AFmd5_FFc,d,a,b,x(k+10),S13,&HFFFF5BB1md5_FFb,c,d,a,x(k+11),S14,&H895CD7BEmd5_FFa,b,c,d,x(k+12),S11,&H6B901122md5_FFd,a,b,c,x(k+13),S12,&HFD987193md5_FFc,d,a,b,x(k+14),S13,&HA679438Emd5_FFb,c,d,a,x(k+15),S14,&H49B40821md5_GGa,b,c,d,x(k+1),S21,&HF61E2562md5_GGd,a,b,c,x(k+6),S22,&HC040B340md5_GGc,d,a,b,x(k+11),S23,&H265E5A51md5_GGb,c,d,a,x(k+0),S24,&HE9B6C7AAmd5_GGa,b,c,d,x(k+5),S21,&HD62F105Dmd5_GGd,a,b,c,x(k+10),S22,&H2441453md5_GGc,d,a,b,x(k+15),S23,&HD8A1E681md5_GGb,c,d,a,x(k+4),S24,&HE7D3FBC8md5_GGa,b,c,d,x(k+9),S21,&H21E1CDE6md5_GGd,a,b,c,x(k+14),S22,&HC33707D6md5_GGc,d,a,b,x(k+3),S23,&HF4D50D87md5_GGb,c,d,a,x(k+8),S24,&H455A14EDmd5_GGa,b,c,d,x(k+13),S21,&HA9E3E905md5_GGd,a,b,c,x(k+2),S22,&HFCEFA3F8md5_GGc,d,a,b,x(k+7),S23,&H676F02D9md5_GGb,c,d,a,x(k+12),S24,&H8D2A4C8Amd5_HHa,b,c,d,x(k+5),S31,&HFFFA3942md5_HHd,a,b,c,x(k+8),S32,&H8771F681md5_HHc,d,a,b,x(k+11),S33,&H6D9D6122md5_HHb,c,d,a,x(k+14),S34,&HFDE5380Cmd5_HHa,b,c,d,x(k+1),S31,&HA4BEEA44md5_HHd,a,b,c,x(k+4),S32,&H4BDECFA9md5_HHc,d,a,b,x(k+7),S33,&HF6BB4B60md5_HHb,c,d,a,x(k+10),S34,&HBEBFBC70md5_HHa,b,c,d,x(k+13),S31,&H289B7EC6md5_HHd,a,b,c,x(k+0),S32,&HEAA127FAmd5_HHc,d,a,b,x(k+3),S33,&HD4EF3085md5_HHb,c,d,a,x(k+6),S34,&H4881D05md5_HHa,b,c,d,x(k+9),S31,&HD9D4D039md5_HHd,a,b,c,x(k+12),S32,&HE6DB99E5md5_HHc,d,a,b,x(k+15),S33,&H1FA27CF8md5_HHb,c,d,a,x(k+2),S34,&HC4AC5665md5_IIa,b,c,d,x(k+0),S41,&HF4292244md5_IId,a,b,c,x(k+7),S42,&H432AFF97md5_IIc,d,a,b,x(k+14),S43,&HAB9423A7md5_IIb,c,d,a,x(k+5),S44,&HFC93A039md5_IIa,b,c,d,x(k+12),S41,&H655B59C3md5_IId,a,b,c,x(k+3),S42,&H8F0CCC92md5_IIc,d,a,b,x(k+10),S43,&HFFEFF47Dmd5_IIb,c,d,a,x(k+1),S44,&H85845DD1md5_IIa,b,c,d,x(k+8),S41,&H6FA87E4Fmd5_IId,a,b,c,x(k+15),S42,&HFE2CE6E0md5_IIc,d,a,b,x(k+6),S43,&HA3014314md5_IIb,c,d,a,x(k+13),S44,&H4E0811A1md5_IIa,b,c,d,x(k+4),S41,&HF7537E82md5_IId,a,b,c,x(k+11),S42,&HBD3AF235md5_IIc,d,a,b,x(k+2),S43,&H2AD7D2BBmd5_IIb,c,d,a,x(k+9),S44,&HEB86D391a=AddUnsigned(a,AA)b=AddUnsigned(b,BB)c=AddUnsigned(c,CC)d=AddUnsigned(d,DD)NextMD5=LCase(WordToHex(a)&WordToHex(b)&WordToHex(c)&WordToHex(d))MD5=LCase(WordToHex(b)&WordToHex(c))Icropthistofit16bytedatabasepassword:DEndFunction%>无法实现跨操作系统的应用。当然这也是微软的理由之一,只有这样才能发挥ASP最佳的能力。可是我却认为正是Windows限制了ASP,ASP的概念本就是为一个能让系统运行于一个大的多样化环境而设计的; 下载一个源代码,然后再下载一个VBScript帮助,在源代码中遇到不认识的函数或是其他什么程序,都可以查帮助进行解决,这样学习效率很高。 我们必须明确一个大方向,不要只是停留在因为学而去学,我们应有方向应有目标. 我可以结合自己的经验大致给你说一说,希望对你有所帮助,少走些弯路。 弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。 ASP主要是用好六个对象,其实最主要的是用好其中两个:response和request,就可以随心所欲地控制网页变换和响应用户动作了。 最近在学asp,不要问我为什么不直接学.net,因为公司网站是asp做的所以有这个需要,卖了本书asp入门到精通,对里面的六大内置对象老是记不住,还有很多属性和方法看的头晕。 作为IE上广为流传的动态网页开发技术,ASP以它简单易学博得了广大WEB程序爱好这的青睐,而且它对运行环境和开发品台的不挑剔,以及有大量有效的参考手册,极大的推广了它的发展。 还有如何才能在最短的时间内学完?我每天可以有效学习2小时,双休日4小时。
页:
[1]