⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 md5.txt

📁 这是一个用汇编语言编写的快速计算 MD5 函数
💻 TXT
📖 第 1 页 / 共 2 页
字号:
     lea    esi, dword ptr ds:[ebx+esi+455A14EDH]
     add    esi, dword ptr ds:[edi+20H]
     rol    esi, 14H
     add    esi, ecx
     mov    ebx, esi
     mov    esi, ebx
     and    esi, edx
     mov    ebp, edx
     not    ebp
     and    ebp, ecx
     or    esi, ebp
     lea    esi, dword ptr ds:[eax+esi+0A9E3E905H]
     add    esi, dword ptr ds:[edi+34H]
     rol    esi, 5H
     add    esi, ebx
     mov    eax, esi
     mov    esi, eax
     and    esi, ecx
     mov    ebp, ecx
     not    ebp
     and    ebp, ebx
     or    esi, ebp
     lea    esi, dword ptr ds:[edx+esi+0FCEFA3F8H]
     add    esi, dword ptr ds:[edi+8H]
     rol    esi, 9H
     add    esi, eax
     mov    edx, esi
     mov    esi, edx
     and    esi, ebx
     mov    ebp, ebx
     not    ebp
     and    ebp, eax
     or    esi, ebp
     lea    esi, dword ptr ds:[ecx+esi+676F02D9H]
     add    esi, dword ptr ds:[edi+1CH]
     rol    esi, 0EH
     add    esi, edx
     mov    ecx, esi
     mov    esi, ecx
     and    esi, eax
     mov    ebp, eax
     not    ebp
     and    ebp, edx
     or    esi, ebp
     lea    esi, dword ptr ds:[ebx+esi+8D2A4C8AH]
     add    esi, dword ptr ds:[edi+30H]
     rol    esi, 14H
     add    esi, ecx
     mov    ebx, esi
     mov    esi, ebx
     xor    esi, ecx
     xor    esi, edx
     lea    esi, dword ptr ds:[eax+esi+0FFFA3942H]
     add    esi, dword ptr ds:[edi+14H]
     rol    esi, 4
     add    esi, ebx
     mov    eax, esi
     mov    esi, eax
     xor    esi, ebx
     xor    esi, ecx
     lea    esi, dword ptr ds:[edx+esi+8771F681H]
     add    esi, dword ptr ds:[edi+20H]
     rol    esi, 0BH
     add    esi, eax
     mov    edx, esi
     mov    esi, edx
     xor    esi, eax
     xor    esi, ebx
     lea    esi, dword ptr ds:[ecx+esi+6D9D6122H]
     add    esi, dword ptr ds:[edi+2CH]
     rol    esi, 10H
     add    esi, edx
     mov    ecx, esi
     mov    esi, ecx
     xor    esi, edx
     xor    esi, eax
     lea    esi, dword ptr ds:[ebx+esi+0FDE5380CH]
     add    esi, dword ptr ds:[edi+38H]
     rol    esi, 17H
     add    esi, ecx
     mov    ebx, esi
     mov    esi, ebx
     xor    esi, ecx
     xor    esi, edx
     lea    esi, dword ptr ds:[eax+esi+0A4BEEA44H]
     add    esi, dword ptr ds:[edi+4H]
     rol    esi, 4
     add    esi, ebx
     mov    eax, esi
     mov    esi, eax
     xor    esi, ebx
     xor    esi, ecx
     lea    esi, dword ptr ds:[edx+esi+04BDECFA9H]
     add    esi, dword ptr ds:[edi+10H]
     rol    esi, 0BH
     add    esi, eax
     mov    edx, esi
     mov    esi, edx
     xor    esi, eax
     xor    esi, ebx
     lea    esi, dword ptr ds:[ecx+esi+0F6BB4B60H]
     add    esi, dword ptr ds:[edi+1CH]
     rol    esi, 10H
     add    esi, edx
     mov    ecx, esi
     mov    esi, ecx
     xor    esi, edx
     xor    esi, eax
     lea    esi, dword ptr ds:[ebx+esi+0BEBFBC70H]
     add    esi, dword ptr ds:[edi+28H]
     rol    esi, 17H
     add    esi, ecx
     mov    ebx, esi
     mov    esi, ebx
     xor    esi, ecx
     xor    esi, edx
     lea    esi, dword ptr ds:[eax+esi+289B7EC6H]
     add    esi, dword ptr ds:[edi+34H]
     rol    esi, 4H
     add    esi, ebx
     mov    eax, esi
     mov    esi, eax
     xor    esi, ebx
     xor    esi, ecx
     lea    esi, dword ptr ds:[edx+esi+0EAA127FAH]
     add    esi, dword ptr ds:[edi]
     rol    esi, 0BH
     add    esi, eax
     mov    edx, esi
     mov    esi, edx
     xor    esi, eax
     xor    esi, ebx
     lea    esi, dword ptr ds:[ecx+esi+0D4EF3085H]
     add    esi, dword ptr ds:[edi+0CH]
     rol    esi, 10H
     add    esi, edx
     mov    ecx, esi
     mov    esi, ecx
     xor    esi, edx
     xor    esi, eax
     lea    esi, dword ptr ds:[ebx+esi+4881D05H]
     add    esi, dword ptr ds:[edi+18H]
     rol    esi, 17H
     add    esi, ecx
     mov    ebx, esi
     mov    esi, ebx
     xor    esi, ecx
     xor    esi, edx
     lea    esi, dword ptr ds:[eax+esi+0D9D4D039H]
     add    esi, dword ptr ds:[edi+24H]
     rol    esi, 4H
     add    esi, ebx
     mov    eax, esi
     mov    esi, eax
     xor    esi, ebx
     xor    esi, ecx
     lea    esi, dword ptr ds:[edx+esi+0E6DB99E5H]
     add    esi, dword ptr ds:[edi+30H]
     rol    esi, 0BH
     add    esi, eax
     mov    edx, esi
     mov    esi, edx
     xor    esi, eax
     xor    esi, ebx
     lea    esi, dword ptr ds:[ecx+esi+1FA27CF8H]
     add    esi, dword ptr ds:[edi+3CH]
     rol    esi, 10H
     add    esi, edx
     mov    ecx, esi
     mov    esi, ecx
     xor    esi, edx
     xor    esi, eax
     lea    esi, dword ptr ds:[ebx+esi+0C4AC5665H]
     add    esi, dword ptr ds:[edi+8]
     rol    esi, 17H
     add    esi, ecx
     mov    ebx, esi
     mov    esi, edx
     not    esi
     or    esi, ebx
     xor    esi, ecx
     lea    esi, dword ptr ds:[eax+esi+0F4292244H]
     add    esi, dword ptr ds:[edi]
     rol    esi, 6H
     add    esi, ebx
     mov    eax, esi
     mov    esi, ecx
     not    esi
     or    esi, eax
     xor    esi, ebx
     lea    esi, dword ptr ds:[edx+esi+432AFF97H]
     add    esi, dword ptr ds:[edi+1CH]
     rol    esi, 0AH
     add    esi, eax
     mov    edx, esi
     mov    esi, ebx
     not    esi
     or    esi, edx
     xor    esi, eax
     lea    esi, dword ptr ds:[ecx+esi+0AB9423A7H]
     add    esi, dword ptr ds:[edi+38H]
     rol    esi, 0FH
     add    esi, edx
     mov    ecx, esi
     mov    esi, eax
     not    esi
     or    esi, ecx
     xor    esi, edx
     lea    esi, dword ptr ds:[ebx+esi+0FC93A039H]
     add    esi, dword ptr ds:[edi+14H]
     rol    esi, 15H
     add    esi, ecx
     mov    ebx, esi
     mov    esi, edx
     not    esi
     or    esi, ebx
     xor    esi, ecx
     lea    esi, dword ptr ds:[eax+esi+655B59C3H]
     add    esi, dword ptr ds:[edi+30H]
     rol    esi, 6H
     add    esi, ebx
     mov    eax, esi
     mov    esi, ecx
     not    esi
     or    esi, eax
     xor    esi, ebx
     lea    esi, dword ptr ds:[edx+esi+8F0CCC92H]
     add    esi, dword ptr ds:[edi+0CH]
     rol    esi, 0AH
     add    esi, eax
     mov    edx, esi
     mov    esi, ebx
     not    esi
     or    esi, edx
     xor    esi, eax
     lea    esi, dword ptr ds:[ecx+esi+0FFEFF47DH]
     add    esi, dword ptr ds:[edi+28H]
     rol    esi, 0FH
     add    esi, edx
     mov    ecx, esi
     mov    esi, eax
     not    esi
     or    esi, ecx
     xor    esi, edx
     lea    esi, dword ptr ds:[ebx+esi+85845DD1H]
     add    esi, dword ptr ds:[edi+4H]
     rol    esi, 15H
     add    esi, ecx
     mov    ebx, esi
     mov    esi, edx
     not    esi
     or    esi, ebx
     xor    esi, ecx
     lea    esi, dword ptr ds:[eax+esi+6FA87E4FH]
     add    esi, dword ptr ds:[edi+20H]
     rol    esi, 6H
     add    esi, ebx
     mov    eax, esi
     mov    esi, ecx
     not    esi
     or    esi, eax
     xor    esi, ebx
     lea    esi, dword ptr ds:[edx+esi+0FE2CE6E0H]
     add    esi, dword ptr ds:[edi+3CH]
     rol    esi, 0AH
     add    esi, eax
     mov    edx, esi
     mov    esi, ebx
     not    esi
     or    esi, edx
     xor    esi, eax
     lea    esi, dword ptr ds:[ecx+esi+0A3014314H]
     add    esi, dword ptr ds:[edi+18H]
     rol    esi, 0FH
     add    esi, edx
     mov    ecx, esi
     mov    esi, eax
     not    esi
     or    esi, ecx
     xor    esi, edx
     lea    esi, dword ptr ds:[ebx+esi+4E0811A1H]
     add    esi, dword ptr ds:[edi+34H]
     rol    esi, 15H
     add    esi, ecx
     mov    ebx, esi
     mov    esi, edx
     not    esi
     or    esi, ebx
     xor    esi, ecx
     lea    esi, dword ptr ds:[eax+esi+0F7537E82H]
     add    esi, dword ptr ds:[edi+10H]
     rol    esi, 6H
     add    esi, ebx
     mov    eax, esi
     mov    esi, ecx
     not    esi
     or    esi, eax
     xor    esi, ebx
     lea    esi, dword ptr ds:[edx+esi+0BD3AF235H]
     add    esi, dword ptr ds:[edi+2CH]
     rol    esi, 0AH
     add    esi, eax
     mov    edx, esi
     mov    esi, ebx
     not    esi
     or    esi, edx
     xor    esi, eax
     lea    esi, dword ptr ds:[ecx+esi+02AD7D2BBH]
     add    esi, dword ptr ds:[edi+8H]
     rol    esi, 0FH
     add    esi, edx
     mov    ecx, esi
     mov    esi, eax
     not    esi
     or    esi, ecx
     xor    esi, edx
     lea    esi, dword ptr ds:[ebx+esi+0EB86D391H]
     add    esi, dword ptr ds:[edi+24H]
     rol    esi, 15H
     add    esi, ecx
     mov    ebx, esi
     pop    ebp
     add    eax, dword ptr ss:[ebp-48H]
     add    ebx, dword ptr ss:[ebp-4CH]
     add    ecx, dword ptr ss:[ebp-50H]
     add    edx, dword ptr ss:[ebp-54H]
     lea    edi, dword ptr ds:[edi+40H]
 @05:     cmp    dword ptr ss:[ebp-44H], 0
     jnz    @06
     cmp    dword ptr ss:[ebp-58H], 1
     je    @09
     inc    dword ptr ss:[ebp-44H]
     inc    dword ptr ss:[ebp-58H]
     lea    edi, dword ptr ss:[ebp-40H]
     jmp    @07

   @toHex:
    XCHG    DH,DL
    ROL    EDX,10H
    XCHG    DH,DL
    PUSH    8
    POP    ECX
   @loop:
    ROL    EDX,4
    MOV    EAX,EDX
    AND    AL,0FH
    CMP    AL,0AH
    SBB    AL,69H
    DAS
    STOSB
    DEC    ECX
    JNZ    @loop
    DB    0C3H
  @09:
     push    edx
     push    ecx
     push    ebx
     push    eax

     push    4
     pop    ebx
     mov    edi, dword ptr ss:[ebp+10H]
  @08: 
     pop    edx
     call    @toHex
     dec    ebx
     jnz    @08
     mov    byte ptr es:[edi],0
      popad
     ret
MD5 endp

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -