資源描述:
《vb md5加密類模塊(vb md5 encryption class module)》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、vbmd5加密類模塊(VBMD5encryptionclassmodule)明確選擇私人constbits_to_a_byte=8私人constbytes_to_a_word=4私人constbits_to_a_word=32私人m_lonbits(30)私人m_l2power(30)私有函數(shù)rightnew(tmp_string為字符串,tmp_sum為整數(shù))為字符串如果tmp_string=“”rightnew=“”退出功能最后如果如果tmp_sum>=Len(tmp_string)然后rightnew
2、=tmp_string退出功能最后如果rightnew=中(tmp_string,Len(tmp_string)-tmp_sum,tmp_sum)端功能私有函數(shù)leftnew(tmp_string為字符串,tmp_sum為整數(shù))為字符串如果tmp_string=“”leftnew=“”退出功能最后如果如果tmp_sum>=Len(tmp_string)然后leftnew=tmp_string退出功能最后如果leftnew=中(tmp_string,1,tmp_sum)端功能私有函數(shù)LSHIFT(左值,ish
3、iftbits)如果ishiftbits=0LShift=左值退出功能“ishiftbits=31如果這1則h80000000LSHIFT=&其他的LShift=0最后如果退出功能“ishiftbits<0或>31ishiftbits錯了,提高6。最后如果如果(左值,m_l2power(31ishiftbits))然后LShift=((左值,m_lonbits(31-(ishiftbits+1)))*m_l2power(ishiftbits))或與h80000000其他的LShift=((左值,m_lonb
4、its(31ishiftbits))*m_l2power(ishiftbits))最后如果端功能私有函數(shù)rshift(左值,ishiftbits)如果ishiftbits=0rshift=左值退出功能“ishiftbits=31如果左值和h80000000然后rshift=1其他的rshift=0最后如果退出功能“ishiftbits<0或>31ishiftbits錯了,提高6。最后如果rshift=(左值和h7ffffffe)m_l2power(ishiftbits)如果(這與h80000000)然后r
5、shift=(RShift或(和h40000000m_l2power(ishiftbits-1)))最后如果端功能私有函數(shù)RotateLeft(左值,ishiftbits)RotateLeft=LSHIFT(左值,ishiftbits)或RShift(左值,(32ishiftbits))端功能私有函數(shù)addunsigned(LX,LY)昏暗的LX4昏暗LY4昏暗的lx8昏暗LY8暗淡一些lx8=LX和h80000000LY和h80000000LY8=LX4=LX和h40000000LY4=LY和h4000
6、0000一些=(LX和h3fffffff)+(LY和h3fffffff)如果LX4、LY4然后一些h80000000異或XOR和為一些lx8異或LY8elseifLX4或LY4然后如果一些與h40000000然后一些hc0000000異或XOR和為一些lx8異或LY8其他的一些h40000000異或XOR和為一些lx8異或LY8最后如果其他的一些一些lx8異或XORLY8=最后如果一些addunsigned=端功能私有函數(shù)md5_f(x,y,z)md5_f=(X和Y)或((不是X)和Z)端功能私有函數(shù)md5
7、_g(x,y,z)md5_g=(X、Z)或(Y(不是Z))端功能私有函數(shù)md5_h(x,y,z)md5_h=(X或Y或Z)端功能私有函數(shù)md5_i(x,y,z)md5_i=(Y異或(X或(不是Z)))端功能私有子md5_ff(A,B,C,D,X,S,AC)aaddunsigned(A,addunsigned(addunsigned(md5_f(B,C,D),x),AC))aRotateLeft(A,S)aaddunsigned(A,B)端子私有子md5_gg(A,B,C,D,X,S,AC)aaddunsig
8、ned(A,addunsigned(addunsigned(md5_g(B,C,D),x),AC))aRotateLeft(A,S)aaddunsigned(A,B)端子私有子md5_hh(A,B,C,D,X,S,AC)aaddunsigned(A,addunsigned(addunsigned(md5_h(B,C,D),x),AC))aRotateLeft(A,S)aaddunsigned(A,B)端子私有子m