shù > md5 suàn 
mùlù
No. 1
  md5 de quán chēng shì message-digestalgorithm5( xìn - zhāi yào suàn ), zài 90 nián dài chū yóu mitlaboratoryforcomputerscience rsadatasecurityinc de ronaldl.rivest kāi chū láijīng md2、 md3 md4 zhǎn 'ér lái de zuò yòng shì ràng róng liàng xìn zài yòng shù qiān míng ruǎn jiàn qiān shǔ rén chí qián bèi " suō " chéng zhǒng bǎo de shìjiù shì rèn cháng de jié chuàn biàn huàn chéng dìng cháng de zhěng shù)。 guǎn shì md2、 md4 hái shì md5, mendōu yào huò suí cháng de xìn bìng chǎn shēng 128 wèi de xìn zhāi yàosuī rán zhè xiē suàn de jié gòu huò duō huò shǎo yòu xiē xiāng dàn md2 de shè md4 md5 wán quán tóng shì yīn wéi md2 shì wéi 8 wèi zuò guò shè yōu huà deér md4 md5 què shì miàn xiàng 32 wèi de diàn nǎozhè sān suàn de miáo shù c yán yuán dài zài internetrfcs1321 zhōng yòu xiáng de miáo shù( http://www.ietf.org/rfc/rfc1321.txt), zhè shì fèn zuì quán wēi de wén dàngyóu ronaldl.rivest zài 1992 nián 8 yuè xiàng ieft jiāo
  vanoorschot wiener céng jīng kǎo guò zài sàn liè zhōng bào sōu xún chōng de hán shù( brute-forcehashfunction), ér qiě men cāi bèi shè zhuān mén yòng lái sōu suǒ md5 chōng de zhè tái zài 1994 nián de zhì zào chéng běn yuē shì bǎi wàn měi yuán píng jūn měi 24 tiān jiù zhǎo dào chōng dàn dān cóng 1991 nián dào 2001 nián zhè 10 nián jiānjìng méi yòu chū xiàn dài md5 suàn de md6 huò bèi jiào zuò shénme míng de xīn suàn zhè diǎn men jiù kàn chū zhè xiá bìng méi yòu tài duō de yǐng xiǎng md5 de 'ān quán xìngshàng miàn suǒ yòu zhè xiē dōubù chéng wéi md5 de zài shí yìng yòng zhōng de wèn bìng qiěyóu md5 suàn de shǐ yòng yào zhī rèn bǎn quán fèi yòng desuǒ zài bān de qíng kuàng xiàfēi jué yìng yòng lǐng dàn biàn shì yìng yòng zài jué lǐng nèi, md5 shī wéi zhǒng fēi cháng yōu xiù de zhōng jiān shù), md5 zěn me yìng gāi suàn shàng shì fēi cháng 'ān quán de liǎo
   suàn de yìng yòng
  md5 de diǎn xíng yìng yòng shì duì duàn xìn ( message) chǎn shēng xìn zhāi yào( message-digest), fáng zhǐ bèi cuàn gǎi zài unix xià yòu hěn duō ruǎn jiàn zài xià zài de shí hòu dōuyòu wén jiàn míng xiāng tóngwén jiàn kuò zhǎn míng wéi .md5 de wén jiànzài zhè wén jiàn zhōng tōng cháng zhǐ yòu yīháng wén běn zhì jié gòu
    md5(tanajiya.tar.gz)=0ca175b9c0f726a831d895e269332461
   zhè jiù shì tanajiya.tar.gz wén jiàn de shù qiān míng。 md5 jiāng zhěng wén jiàn dāng zuò wén běn xìn tōng guò de chuàn biàn huàn suàn chǎn shēng liǎo zhè wéi de md5 xìn zhāi yào guǒ zài hòu chuán zhè wén jiàn de guò chéng zhōng lùn wén jiàn de nèi róng shēng liǎo rèn xíng shì de gǎi biànbāo kuò rén wéi xiū gǎi huò zhě xià zài guò chéng zhōng xiàn wěn dìng yǐn de chuán shū cuò děng), zhǐ yào duì zhè wén jiàn chóngxīn suàn md5 shí jiù huì xiàn xìn zhāi yào xiāng tóngyóu què dìng dào de zhǐ shì zhèng què de wén jiàn guǒ zài yòu sān fāng de rèn zhèng gòuyòng md5 hái fáng zhǐ wén jiàn zuò zhě de " lài ", zhè jiù shì suǒ wèi de shù qiān míng yìng yòng
  md5 hái guǎng fàn yòng jiā jiě shù shàng zài unix tǒng zhōng yòng de jiù shì md5( huò lèi shìde suàn jīng jiā hòu cún chǔ zài wén jiàn tǒng zhōngdāng yòng dēng de shí hòu tǒng yòng shū de suàn chéng md5 zhírán hòu zài bǎo cún zài wén jiàn tǒng zhōng de md5 zhí jìn xíng jiàojìn 'ér què dìng shū de shì fǒu zhèng quètōng guò zhè yàng de zhòu tǒng zài bìng zhī dào yòng de míng de qíng kuàng xià jiù què dìng yòng dēng tǒng de xìngzhè dàn miǎn yòng de bèi yòu tǒng guǎn yuán quán xiàn de yòng zhī dàoér qiě hái zài dìng chéng shàng zēng jiā liǎo bèi jiě de nán
   zhèng shì yīn wéi zhè yuán yīnxiàn zài bèi hēi shǐ yòng zuì duō de zhǒng de fāng jiù shì zhǒng bèi chēng wéi " páo diǎn " de fāng yòu liǎng zhǒng fāng dào diǎn zhǒng shì cháng sōu de yòng zuò de chuàn biǎolìng zhǒng shì yòng pái liè fāng shēng chéng dexiān yòng md5 chéng suàn chū zhè xiē diǎn xiàng de md5 zhírán hòu zài yòng biāo de md5 zhí zài zhè diǎn zhōng jiǎn suǒ men jiǎ shè de zuì cháng wéi 8 wèi jié( 8bytes), tóng shí zhǐ néng shì shù gòng 26+26+10=62 pái liè chū de diǎn de xiàng shù shì p(62,1)+p(62,2) .+p(62,8), jīng shì hěn tiān wén de shù liǎocún chǔ zhè diǎn jiù yào tb de pán zhèn lièér qiě zhè zhǒng fāng hái yòu qián jiù shì néng huò biāo zhàng de md5 zhí de qíng kuàng xià cái zhè zhǒng jiā shù bèi guǎng fàn de yìng yòng unix tǒng zhōngzhè shì wèishénme unix tǒng bān cāo zuò tǒng gèng wéi jiān zhòng yào yuán yīn
   suàn miáo shù
   duì md5 suàn jiǎn yào de shù wéi: md5 512 wèi fēn lái chù shū de xìn qiě měi fēn yòu bèi huàfēn wéi 16 32 wèi fēn jīng guò liǎo liè de chǔlǐ hòusuàn de shū chū yóu 32 wèi fēn chéngjiāng zhè 32 wèi fēn lián hòu jiāng shēng chéng 128 wèi sàn liè zhí
   zài md5 suàn zhōngshǒu xiān yào duì xìn jìn xíng tián chōngshǐ jié cháng duì 512 qiú de jiēguǒ děng 448。 yīn xìn de jié cháng ( bitslength) jiāng bèi kuò zhǎn zhì n*512+448, n*64+56 jié( bytes), n wéi zhèng zhěng shùtián chōng de fāng xiàzài xìn de hòu miàn tián chōng 1 shù 0, zhí dào mǎn shàng miàn de tiáo jiàn shí cái tíng zhǐ yòng 0 duì xìn de tián chōngrán hòuzài zài zhè jiēguǒ hòu miàn jiā 64 wèi 'èr jìn zhì biǎo shì de tián chōng qián xìn cháng jīng guò zhè liǎng de chǔlǐxiàn zài de xìn jié cháng =n*512+448+64=(n+1)*512, cháng qià hǎo shì 512 de zhěng shù bèizhè yàng zuò de yuán yīn shì wéi mǎn hòu miàn chǔlǐ zhōng duì xìn cháng de yào qiú
  md5 zhōng yòu 32 wèi bèi chēng zuò liàn jiē biàn liàng( chainingvariable) de zhěng shù cān shù men fēn bié wéi: a=0x01234567, b=0x89abcdef, c=0xfedcba98, d=0x76543210。
   dāng shè zhì hǎo zhè liàn jiē biàn liàng hòujiù kāi shǐ jìn suàn de lún xún huán yùn suànxún huán de shù shì xìn zhōng 512 wèi xìn fēn de shù
   jiāng shàng miàn liàn jiē biàn liàng zhì dào lìng wài biàn liàng zhōng: a dào a, b dào b, c dào c, d dào d。
   zhù xún huán yòu lún( md4 zhǐ yòu sān lún), měi lún xún huán dōuhěn xiāng lún jìn xíng 16 cāo zuòměi cāo zuò duì a、 b、 c d zhōng de zhōng sān zuò fēi xiàn xìng hán shù yùn suànrán hòu jiāng suǒ jiēguǒ jiā shàng biàn liàngwén běn de fēn cháng shùzài jiāng suǒ jiēguǒ xiàng yòu huán dìng de shùbìng jiā shàng a、 b、 c huò d zhōng zhī zuì hòu yòng gāi jiēguǒ dài a、 b、 c huò d zhōng zhī
   xià shì měi cāo zuò zhōng yòng dào de fēi xiàn xìng hán shùměi lún )。
    f(x,y,z)=(x&y)|((~x)&z)
    g(x,y,z)=(x&z)|(y&(~z))
    h(x,y,z)=x^y^z
    i(x,y,z)=y^(x|(~z))
   ( & shì , | shì huò, ~ shì fēi, ^ shì huò
   zhè hán shù de shuō míng guǒ x、 y z de duì yìng wèi shì jūn yún de me jiēguǒ de měi wèi yìng shì jūn yún de。 f shì zhú wèi yùn suàn de hán shù guǒ x, me y, fǒu z。 hán shù h shì zhú wèi jī'ǒu cāo zuò
   jiǎ shè mj biǎo shì xiāo de j fēn cóng 0 dào 15), <<
    ff(a,b,c,d,mj,s,ti) biǎo shì a=b+((a+(f(b,c,d)+mj+ti)<<  gg(a,b,c,d,mj,s,ti) biǎo shì a=b+((a+(g(b,c,d)+mj+ti)<<  hh(a,b,c,d,mj,s,ti) biǎo shì a=b+((a+(h(b,c,d)+mj+ti)<<  ii(a,b,c,d,mj,s,ti) biǎo shì a=b+((a+(i(b,c,d)+mj+ti)<<
   zhè lún( 64 shì
   lún
    ff(a,b,c,d,m0,7,0xd76aa478)
    ff(d,a,b,c,m1,12,0xe8c7b756)
    ff(c,d,a,b,m2,17,0x242070db)
  ff(b,c,d,a,m3,22,0xc1bdceee)
    ff(a,b,c,d,m4,7,0xf57c0faf)
    ff(d,a,b,c,m5,12,0x4787c62a)
    ff(c,d,a,b,m6,17,0xa8304613)
    ff(b,c,d,a,m7,22,0xfd469501)
    ff(a,b,c,d,m8,7,0x698098d8)
    ff(d,a,b,c,m9,12,0x8b44f7af)
    ff(c,d,a,b,m10,17,0xffff5bb1)
    ff(b,c,d,a,m11,22,0x895cd7be)
    ff(a,b,c,d,m12,7,0x6b901122)
    ff(d,a,b,c,m13,12,0xfd987193)
    ff(c,d,a,b,m14,17,0xa679438e)
    ff(b,c,d,a,m15,22,0x49b40821)
   'èr lún
    gg(a,b,c,d,m1,5,0xf61e2562)
    gg(d,a,b,c,m6,9,0xc040b340)
    gg(c,d,a,b,m11,14,0x265e5a51)
    gg(b,c,d,a,m0,20,0xe9b6c7aa)
    gg(a,b,c,d,m5,5,0xd62f105d)
    gg(d,a,b,c,m10,9,0x02441453)
    gg(c,d,a,b,m15,14,0xd8a1e681)
    gg(b,c,d,a,m4,20,0xe7d3fbc8)
    gg(a,b,c,d,m9,5,0x21e1cde6)
    gg(d,a,b,c,m14,9,0xc33707d6)
    gg(c,d,a,b,m3,14,0xf4d50d87)
    gg(b,c,d,a,m8,20,0x455a14ed)
    gg(a,b,c,d,m13,5,0xa9e3e905)
    gg(d,a,b,c,m2,9,0xfcefa3f8)
    gg(c,d,a,b,m7,14,0x676f02d9)
    gg(b,c,d,a,m12,20,0x8d2a4c8a)
   sān lún
    hh(a,b,c,d,m5,4,0xfffa3942)
    hh(d,a,b,c,m8,11,0x8771f681)
    hh(c,d,a,b,m11,16,0x6d9d6122)
    hh(b,c,d,a,m14,23,0xfde5380c)
    hh(a,b,c,d,m1,4,0xa4beea44)
    hh(d,a,b,c,m4,11,0x4bdecfa9)
    hh(c,d,a,b,m7,16,0xf6bb4b60)
    hh(b,c,d,a,m10,23,0xbebfbc70)
    hh(a,b,c,d,m13,4,0x289b7ec6)
    hh(d,a,b,c,m0,11,0xeaa127fa)
    hh(c,d,a,b,m3,16,0xd4ef3085)
    hh(b,c,d,a,m6,23,0x04881d05)
    hh(a,b,c,d,m9,4,0xd9d4d039)
    hh(d,a,b,c,m12,11,0xe6db99e5)
    hh(c,d,a,b,m15,16,0x1fa27cf8)
    hh(b,c,d,a,m2,23,0xc4ac5665)
   lún
    ii(a,b,c,d,m0,6,0xf4292244)
    ii(d,a,b,c,m7,10,0x432aff97)
    ii(c,d,a,b,m14,15,0xab9423a7)
    ii(b,c,d,a,m5,21,0xfc93a039)
    ii(a,b,c,d,m12,6,0x655b59c3)
    ii(d,a,b,c,m3,10,0x8f0ccc92)
    ii(c,d,a,b,m10,15,0xffeff47d)
    ii(b,c,d,a,m1,21,0x85845dd1)
    ii(a,b,c,d,m8,6,0x6fa87e4f)
    ii(d,a,b,c,m15,10,0xfe2ce6e0)
    ii(c,d,a,b,m6,15,0xa3014314)
    ii(b,c,d,a,m13,21,0x4e0811a1)
    ii(a,b,c,d,m4,6,0xf7537e82)
    ii(d,a,b,c,m11,10,0xbd3af235)
    ii(c,d,a,b,m2,15,0x2ad7d2bb)
    ii(b,c,d,a,m9,21,0xeb86d391)
   cháng shù ti xià xuǎn
   zài i zhōng, ti shì 4294967296*abs(sin(i)) de zhěng shù fēn, i de dān wèi shì 。 (4294967296 děng 2 de 32 fāng )
   suǒ yòu zhè xiē wán chéng zhī hòujiāng a、 b、 c、 d fēn bié jiā shàng a、 b、 c、 d。 rán hòu yòng xià fēn shù yùn xíng suàn zuì hòu de shū chū shì a、 b、 c d de lián
   dāng 'àn zhào shàng miàn suǒ shuō de fāng shí xiàn md5 suàn hòu yòng xià xìn duì zuò chū lái de chéng zuò jiǎn dān de shìkàn kàn chéng yòu méi yòu cuò
    md5("")=d41d8cd98f00b204e9800998ecf8427e
    md5("a")=0cc175b9c0f1b6a831c399e269772661
    md5("abc")=900150983cd24fb0d6963f7d28e17f72
    md5("messagedigest")=f96b697d7cb7938d525a2f31aaf161d0
    md5("abcdefghijklmnopqrstuvwxyz")=c3fcd3d76192e4007dfb496cca67e13b
    md5("abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz0123456789")=
  d174ab98d277d9f5a5611c2c9f419d9f
    md5("123456789012345678901234567890123456789012345678901234567890123456789
  01234567890")=57edf4a22be3c955ac49da2e2107b67a
  md5 de 'ān quán xìng
  md5 xiāng duì md4 suǒ zuò de gǎi jìn
    1. zēng jiā liǎo lún
    2. měi jūn yòu wéi de jiā cháng shù
    3. wéi jiǎn ruò 'èr lún zhōng hán shù g de duìchèn xìng cóng (x&y)|(x&z)|(y&z) biàn wéi (x&z)|(y&(~z));
    4. jiā shàng liǎo shàng de jiēguǒzhè jiāng yǐn gèng kuài de xuě bēng xiào yìng
    5. gǎi biàn liǎo 'èr lún sān lún zhōng fǎng wèn xiāo fēn de shǐ gèng xiāng
    6. jìn yōu huà liǎo měi lún zhōng de xún huán zuǒ wèi liàng shí xiàn gèng kuài de xuě bēng xiào yìng lún de wèi liàng xiāng tóng
No. 2
  MD5 de quán chēng shì Message-DigestAlgorithm5( xìn - zhāi yào suàn ), zài 90 nián dài chū yóu MITLaboratoryforComputerScience RSADataSecurityInc de RonaldL.Rivest kāi chū láijīng MD2、 MD3 MD4 zhǎn 'ér lái de zuò yòng shì ràng róng liàng xìn zài yòng shù qiān míng ruǎn jiàn qiān shǔ rén chí qián bèi " suō " chéng zhǒng bǎo de shìjiù shì rèn cháng de jié chuàn biàn huàn chéng dìng cháng de zhěng shù)。 guǎn shì MD2、 MD4 hái shì MD5, mendōu yào huò suí cháng de xìn bìng chǎn shēng 128 wèi de xìn zhāi yàosuī rán zhè xiē suàn de jié gòu huò duō huò shǎo yòu xiē xiāng dàn MD2 de shè MD4 MD5 wán quán tóng shì yīn wéi MD2 shì wéi 8 wèi zuò guò shè yōu huà deér MD4 MD5 què shì miàn xiàng 32 wèi de diàn nǎozhè sān suàn de miáo shù C yán yuán dài zài InternetRFCs1321 zhōng yòu xiáng de miáo shù( http://www.ietf.org/rfc/rfc1321.txt), zhè shì fèn zuì quán wēi de wén dàngyóu RonaldL.Rivest zài 1992 nián 8 yuè xiàng IEFT jiāo
  VanOorschot Wiener céng jīng kǎo guò zài sàn liè zhōng bào sōu xún chōng de hán shù( Brute-ForceHashFunction), ér qiě men cāi bèi shè zhuān mén yòng lái sōu suǒ MD5 chōng de zhè tái zài 1994 nián de zhì zào chéng běn yuē shì bǎi wàn měi yuán píng jūn měi 24 tiān jiù zhǎo dào chōng dàn dān cóng 1991 nián dào 2001 nián zhè 10 nián jiānjìng méi yòu chū xiàn dài md5 suàn de MD6 huò bèi jiào zuò shénme míng de xīn suàn zhè diǎn men jiù kàn chū zhè xiá bìng méi yòu tài duō de yǐng xiǎng MD5 de 'ān quán xìngshàng miàn suǒ yòu zhè xiē dōubù chéng wéi MD5 de zài shí yìng yòng zhōng de wèn bìng qiěyóu md5 suàn de shǐ yòng yào zhī rèn bǎn quán fèi yòng desuǒ zài bān de qíng kuàng xiàfēi jué yìng yòng lǐng dàn biàn shì yìng yòng zài jué lǐng nèi, MD5 shī wéi zhǒng fēi cháng yōu xiù de zhōng jiān shù), MD5 zěn me yìng gāi suàn shàng shì fēi cháng 'ān quán de liǎo
   suàn de yìng yòng
  MD5 de diǎn xíng yìng yòng shì duì duàn xìn ( Message) chǎn shēng xìn zhāi yào( Message-Digest), fáng zhǐ bèi cuàn gǎi zài UNIX xià yòu hěn duō ruǎn jiàn zài xià zài de shí hòu dōuyòu wén jiàn míng xiāng tóngwén jiàn kuò zhǎn míng wéi .md5 de wén jiànzài zhè wén jiàn zhōng tōng cháng zhǐ yòu yīháng wén běn zhì jié gòu
  MD5(tanajiya.tar.gz)=0ca175b9c0f726a831d895e269332461
   zhè jiù shì tanajiya.tar.gz wén jiàn de shù qiān míng。 MD5 jiāng zhěng wén jiàn dāng zuò wén běn xìn tōng guò de chuàn biàn huàn suàn chǎn shēng liǎo zhè wéi de MD5 xìn zhāi yào guǒ zài hòu chuán zhè wén jiàn de guò chéng zhōng lùn wén jiàn de nèi róng shēng liǎo rèn xíng shì de gǎi biànbāo kuò rén wéi xiū gǎi huò zhě xià zài guò chéng zhōng xiàn wěn dìng yǐn de chuán shū cuò děng), zhǐ yào duì zhè wén jiàn chóngxīn suàn MD5 shí jiù huì xiàn xìn zhāi yào xiāng tóngyóu què dìng dào de zhǐ shì zhèng què de wén jiàn guǒ zài yòu sān fāng de rèn zhèng gòuyòng MD5 hái fáng zhǐ wén jiàn zuò zhě de " lài ", zhè jiù shì suǒ wèi de shù qiān míng yìng yòng
  MD5 hái guǎng fàn yòng jiā jiě shù shàng zài UNIX tǒng zhōng yòng de jiù shì MD5( huò lèi shìde suàn jīng jiā hòu cún chǔ zài wén jiàn tǒng zhōngdāng yòng dēng de shí hòu tǒng yòng shū de suàn chéng MD5 zhírán hòu zài bǎo cún zài wén jiàn tǒng zhōng de MD5 zhí jìn xíng jiàojìn 'ér què dìng shū de shì fǒu zhèng quètōng guò zhè yàng de zhòu tǒng zài bìng zhī dào yòng de míng de qíng kuàng xià jiù què dìng yòng dēng tǒng de xìngzhè dàn miǎn yòng de bèi yòu tǒng guǎn yuán quán xiàn de yòng zhī dàoér qiě hái zài dìng chéng shàng zēng jiā liǎo bèi jiě de nán
   zhèng shì yīn wéi zhè yuán yīnxiàn zài bèi hēi shǐ yòng zuì duō de zhǒng de fāng jiù shì zhǒng bèi chēng wéi " páo diǎn " de fāng yòu liǎng zhǒng fāng dào diǎn zhǒng shì cháng sōu de yòng zuò de chuàn biǎolìng zhǒng shì yòng pái liè fāng shēng chéng dexiān yòng MD5 chéng suàn chū zhè xiē diǎn xiàng de MD5 zhírán hòu zài yòng biāo de MD5 zhí zài zhè diǎn zhōng jiǎn suǒ men jiǎ shè de zuì cháng wéi 8 wèi jié( 8Bytes), tóng shí zhǐ néng shì shù gòng 26+26+10=62 pái liè chū de diǎn de xiàng shù shì P(62,1)+P(62,2)… .+P(62,8), jīng shì hěn tiān wén de shù liǎocún chǔ zhè diǎn jiù yào TB de pán zhèn lièér qiě zhè zhǒng fāng hái yòu qián jiù shì néng huò biāo zhàng de MD5 zhí de qíng kuàng xià cái zhè zhǒng jiā shù bèi guǎng fàn de yìng yòng UNIX tǒng zhōngzhè shì wèishénme UNIX tǒng bān cāo zuò tǒng gèng wéi jiān zhòng yào yuán yīn
   suàn miáo shù
   duì md5 suàn jiǎn yào de shù wéi: MD5 512 wèi fēn lái chù shū de xìn qiě měi fēn yòu bèi huàfēn wéi 16 32 wèi fēn jīng guò liǎo liè de chǔlǐ hòusuàn de shū chū yóu 32 wèi fēn chéngjiāng zhè 32 wèi fēn lián hòu jiāng shēng chéng 128 wèi sàn liè zhí
   zài md5 suàn zhōngshǒu xiān yào duì xìn jìn xíng tián chōngshǐ jié cháng duì 512 qiú de jiēguǒ děng 448。 yīn xìn de jié cháng ( BitsLength) jiāng bèi kuò zhǎn zhì N*512+448, N*64+56 jié( Bytes), N wéi zhèng zhěng shùtián chōng de fāng xiàzài xìn de hòu miàn tián chōng 1 shù 0, zhí dào mǎn shàng miàn de tiáo jiàn shí cái tíng zhǐ yòng 0 duì xìn de tián chōngrán hòuzài zài zhè jiēguǒ hòu miàn jiā 64 wèi 'èr jìn zhì biǎo shì de tián chōng qián xìn cháng jīng guò zhè liǎng de chǔlǐxiàn zài de xìn jié cháng =N*512+448+64=(N+1)*512, cháng qià hǎo shì 512 de zhěng shù bèizhè yàng zuò de yuán yīn shì wéi mǎn hòu miàn chǔlǐ zhōng duì xìn cháng de yào qiú
  MD5 zhōng yòu 32 wèi bèi chēng zuò liàn jiē biàn liàng( ChainingVariable) de zhěng shù cān shù men fēn bié wéi: A=0x01234567, B=0x89abcdef, C=0xfedcba98, D=0x76543210。
   dāng shè zhì hǎo zhè liàn jiē biàn liàng hòujiù kāi shǐ jìn suàn de lún xún huán yùn suànxún huán de shù shì xìn zhōng 512 wèi xìn fēn de shù
   jiāng shàng miàn liàn jiē biàn liàng zhì dào lìng wài biàn liàng zhōng: A dào a, B dào b, C dào c, D dào d。
   zhù xún huán yòu lún( MD4 zhǐ yòu sān lún), měi lún xún huán dōuhěn xiāng lún jìn xíng 16 cāo zuòměi cāo zuò duì a、 b、 c d zhōng de zhōng sān zuò fēi xiàn xìng hán shù yùn suànrán hòu jiāng suǒ jiēguǒ jiā shàng biàn liàngwén běn de fēn cháng shùzài jiāng suǒ jiēguǒ xiàng yòu huán dìng de shùbìng jiā shàng a、 b、 c huò d zhōng zhī zuì hòu yòng gāi jiēguǒ dài a、 b、 c huò d zhōng zhī
   xià shì měi cāo zuò zhōng yòng dào de fēi xiàn xìng hán shùměi lún )。
  F(X,Y,Z)=(X&Y)|((~X)&Z)
  G(X,Y,Z)=(X&Z)|(Y&(~Z))
  H(X,Y,Z)=X^Y^Z
  I(X,Y,Z)=Y^(X|(~Z))
  ( & shì , | shì huò, ~ shì fēi, ^ shì huò
   zhè hán shù de shuō míng guǒ X、 Y Z de duì yìng wèi shì jūn yún de me jiēguǒ de měi wèi yìng shì jūn yún de。 F shì zhú wèi yùn suàn de hán shù guǒ X, me Y, fǒu Z。 hán shù H shì zhú wèi jī'ǒu cāo zuò
   jiǎ shè Mj biǎo shì xiāo de j fēn cóng 0 dào 15), <<
  FF(a,b,c,d,Mj,s,ti) biǎo shì a=b+((a+(F(b,c,d)+Mj+ti)<<GG(a,b,c,d,Mj,s,ti) biǎo shì a=b+((a+(G(b,c,d)+Mj+ti)<<HH(a,b,c,d,Mj,s,ti) biǎo shì a=b+((a+(H(b,c,d)+Mj+ti)<<II(a,b,c,d,Mj,s,ti) biǎo shì a=b+((a+(I(b,c,d)+Mj+ti)<<
   zhè lún( 64 shì
   lún
  FF(a,b,c,d,M0,7,0xd76aa478)
  FF(d,a,b,c,M1,12,0xe8c7b756)
  FF(c,d,a,b,M2,17,0x242070db)
  FF(b,c,d,a,M3,22,0xc1bdceee)
  FF(a,b,c,d,M4,7,0xf57c0faf)
  FF(d,a,b,c,M5,12,0x4787c62a)
  FF(c,d,a,b,M6,17,0xa8304613)
  FF(b,c,d,a,M7,22,0xfd469501)
  FF(a,b,c,d,M8,7,0x698098d8)
  FF(d,a,b,c,M9,12,0x8b44f7af)
  FF(c,d,a,b,M10,17,0xffff5bb1)
  FF(b,c,d,a,M11,22,0x895cd7be)
  FF(a,b,c,d,M12,7,0x6b901122)
  FF(d,a,b,c,M13,12,0xfd987193)
  FF(c,d,a,b,M14,17,0xa679438e)
  FF(b,c,d,a,M15,22,0x49b40821)
   'èr lún
  GG(a,b,c,d,M1,5,0xf61e2562)
  GG(d,a,b,c,M6,9,0xc040b340)
  GG(c,d,a,b,M11,14,0x265e5a51)
  GG(b,c,d,a,M0,20,0xe9b6c7aa)
  GG(a,b,c,d,M5,5,0xd62f105d)
  GG(d,a,b,c,M10,9,0x02441453)
  GG(c,d,a,b,M15,14,0xd8a1e681)
  GG(b,c,d,a,M4,20,0xe7d3fbc8)
  GG(a,b,c,d,M9,5,0x21e1cde6)
  GG(d,a,b,c,M14,9,0xc33707d6)
  GG(c,d,a,b,M3,14,0xf4d50d87)
  GG(b,c,d,a,M8,20,0x455a14ed)
  GG(a,b,c,d,M13,5,0xa9e3e905)
  GG(d,a,b,c,M2,9,0xfcefa3f8)
  GG(c,d,a,b,M7,14,0x676f02d9)
  GG(b,c,d,a,M12,20,0x8d2a4c8a)
   sān lún
  HH(a,b,c,d,M5,4,0xfffa3942)
  HH(d,a,b,c,M8,11,0x8771f681)
  HH(c,d,a,b,M11,16,0x6d9d6122)
  HH(b,c,d,a,M14,23,0xfde5380c)
  HH(a,b,c,d,M1,4,0xa4beea44)
  HH(d,a,b,c,M4,11,0x4bdecfa9)
  HH(c,d,a,b,M7,16,0xf6bb4b60)
  HH(b,c,d,a,M10,23,0xbebfbc70)
  HH(a,b,c,d,M13,4,0x289b7ec6)
  HH(d,a,b,c,M0,11,0xeaa127fa)
  HH(c,d,a,b,M3,16,0xd4ef3085)
  HH(b,c,d,a,M6,23,0x04881d05)
  HH(a,b,c,d,M9,4,0xd9d4d039)
  HH(d,a,b,c,M12,11,0xe6db99e5)
  HH(c,d,a,b,M15,16,0x1fa27cf8)
  HH(b,c,d,a,M2,23,0xc4ac5665)
   lún
  II(a,b,c,d,M0,6,0xf4292244)
  II(d,a,b,c,M7,10,0x432aff97)
  II(c,d,a,b,M14,15,0xab9423a7)
  II(b,c,d,a,M5,21,0xfc93a039)
  II(a,b,c,d,M12,6,0x655b59c3)
  II(d,a,b,c,M3,10,0x8f0ccc92)
  II(c,d,a,b,M10,15,0xffeff47d)
  II(b,c,d,a,M1,21,0x85845dd1)
  II(a,b,c,d,M8,6,0x6fa87e4f)
  II(d,a,b,c,M15,10,0xfe2ce6e0)
  II(c,d,a,b,M6,15,0xa3014314)
  II(b,c,d,a,M13,21,0x4e0811a1)
  II(a,b,c,d,M4,6,0xf7537e82)
  II(d,a,b,c,M11,10,0xbd3af235)
  II(c,d,a,b,M2,15,0x2ad7d2bb)
  II(b,c,d,a,M9,21,0xeb86d391)
   cháng shù ti xià xuǎn
   zài i zhōng, ti shì 4294967296*abs(sin(i)) de zhěng shù fēn, i de dān wèi shì 。 (4294967296 děng 2 de 32 fāng )
   suǒ yòu zhè xiē wán chéng zhī hòujiāng A、 B、 C、 D fēn bié jiā shàng a、 b、 c、 d。 rán hòu yòng xià fēn shù yùn xíng suàn zuì hòu de shū chū shì A、 B、 C D de lián
   dāng 'àn zhào shàng miàn suǒ shuō de fāng shí xiàn md5 suàn hòu yòng xià xìn duì zuò chū lái de chéng zuò jiǎn dān de shìkàn kàn chéng yòu méi yòu cuò
  MD5("")=d41d8cd98f00b204e9800998ecf8427e
  MD5("a")=0cc175b9c0f1b6a831c399e269772661
  MD5("abc")=900150983cd24fb0d6963f7d28e17f72
  MD5("messagedigest")=f96b697d7cb7938d525a2f31aaf161d0
  MD5("abcdefghijklmnopqrstuvwxyz")=c3fcd3d76192e4007dfb496cca67e13b
  MD5("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789")=
  d174ab98d277d9f5a5611c2c9f419d9f
  MD5("123456789012345678901234567890123456789012345678901234567890123456789
  01234567890")=57edf4a22be3c955ac49da2e2107b67a
  MD5 de 'ān quán xìng
  MD5 xiāng duì MD4 suǒ zuò de gǎi jìn
  1. zēng jiā liǎo lún
  2. měi jūn yòu wéi de jiā cháng shù
  3. wéi jiǎn ruò 'èr lún zhōng hán shù G de duìchèn xìng cóng (X&Y)|(X&Z)|(Y&Z) biàn wéi (X&Z)|(Y&(~Z));
  4. jiā shàng liǎo shàng de jiēguǒzhè jiāng yǐn gèng kuài de xuě bēng xiào yìng
  5. gǎi biàn liǎo 'èr lún sān lún zhōng fǎng wèn xiāo fēn de shǐ gèng xiāng
  6. jìn yōu huà liǎo měi lún zhōng de xún huán zuǒ wèi liàng shí xiàn gèng kuài de xuě bēng xiào yìng lún de wèi liàng xiāng tóng