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

📄 sha1.inc

📁 The dinamyc link library that contains an implementation of SHA1, SHA512, CRC32, CRC32b, Adler32, Tw
💻 INC
📖 第 1 页 / 共 4 页
字号:

; ----------------------------------------------------- ;
;     SHA1 Hash Algorithm                               ;
;      by NIST and the NSA of USA                       ;
;                                                       ;
; Output Digest Size: 160 bits                          ;
; ----------------------------------------------------- ;

align 4
_SHA1_Transform:

   ;    void _SHA1_Transform(unsigned long state[5], unsigned char buffer[64])
	push	  ebp
	mov	  ebp,esp
	add	  esp,-12
	push	  ebx
	push	  esi
	push	  edi
@1:
	mov	  ebx, mobkdeia
	stdcall   memcpy,ebx,dword[ebp+12],64
	mov	  eax, [ebp+8]
	mov	  eax,[eax]
	mov	  edx,[ebp+8]
	mov	  edx,[edx+4]
	mov	  ecx,[ebp+8]
	mov	  ecx,[ecx+8]
	mov	  [ebp-4],ecx
	mov	  ecx,[ebp+8]
	mov	  ecx,[ecx+12]
	mov	  [ebp-8],ecx
	mov	  ecx,[ebp+8]
	mov	  ecx,[ecx+16]
	mov	  [ebp-12],ecx

	mov	  ecx,[ebx]
	shl	  ecx,24
	mov	  esi,[ebx]
	shr	  esi,8
	or	  ecx,esi
	and	  ecx,-16711936
	mov	  esi,[ebx]
	shl	  esi,8
	mov	  edi,[ebx]
	shr	  edi,24
	or	  esi,edi
	and	  esi,16711935
	or	  ecx,esi
	mov	  [ebx],ecx
	mov	  esi,[ebp-4]
	xor	  esi,[ebp-8]
	and	  esi,edx
	xor	  esi,[ebp-8]
	add	  ecx,esi
	mov	  esi,eax
	shl	  esi,5
	mov	  edi,eax
	shr	  edi,27
	or	  esi,edi
	add	  ecx,esi
	add	  ecx,1518500249
	add	  [ebp-12],ecx
	mov	  ecx,edx
	shl	  ecx,30
	shr	  edx,2
	or	  ecx,edx
	mov	  edx,ecx
	mov	  ecx,[ebx+4]
	shl	  ecx,24
	mov	  esi,[ebx+4]
	shr	  esi,8
	or	  ecx,esi
	and	  ecx,-16711936
	mov	  esi,[ebx+4]
	shl	  esi,8
	mov	  edi,[ebx+4]
	shr	  edi,24
	or	  esi,edi
	and	  esi,16711935
	or	  ecx,esi
	mov	  [ebx+4],ecx
	mov	  esi,[ebp-4]
	xor	  esi,edx
	and	  esi,eax
	xor	  esi,[ebp-4]
	add	  ecx,esi
	mov	  esi,[ebp-12]
	shl	  esi,5
	mov	  edi,[ebp-12]
	shr	  edi,27
	or	  esi,edi
	add	  ecx,esi
	add	  ecx,1518500249
	add	  [ebp-8],ecx
	mov	  ecx,eax
	shl	  ecx,30
	shr	  eax,2
	or	  ecx,eax
	mov	  eax,ecx
	mov	  ecx,[ebx+8]
	shl	  ecx,24
	mov	  esi,[ebx+8]
	shr	  esi,8
	or	  ecx,esi
	and	  ecx,-16711936
	mov	  esi,[ebx+8]
	shl	  esi,8
	mov	  edi,[ebx+8]
	shr	  edi,24
	or	  esi,edi
	and	  esi,16711935
	or	  ecx,esi
	mov	  [ebx+8],ecx
	mov	  esi,edx
	xor	  esi,eax
	and	  esi,[ebp-12]
	xor	  esi,edx
	add	  ecx,esi
	mov	  esi,[ebp-8]
	shl	  esi,5
	mov	  edi,[ebp-8]
	shr	  edi,27
	or	  esi,edi
	add	  ecx,esi
	add	  ecx,1518500249
	add	  [ebp-4],ecx
	mov	  ecx,[ebp-12]
	shl	  ecx,30
	mov	  esi,[ebp-12]
	shr	  esi,2
	or	  ecx,esi
	mov	  [ebp-12],ecx
	mov	  ecx,[ebx+12]
	shl	  ecx,24
	mov	  esi,[ebx+12]
	shr	  esi,8
	or	  ecx,esi
	and	  ecx,-16711936
	mov	  esi,[ebx+12]
	shl	  esi,8
	mov	  edi,[ebx+12]
	shr	  edi,24
	or	  esi,edi
	and	  esi,16711935
	or	  ecx,esi
	mov	  [ebx+12],ecx
	mov	  esi,[ebp-12]
	xor	  esi,eax
	and	  esi,[ebp-8]
	xor	  esi,eax
	add	  ecx,esi
	mov	  esi,[ebp-4]
	shl	  esi,5
	mov	  edi,[ebp-4]
	shr	  edi,27
	or	  esi,edi
	add	  ecx,esi
	add	  ecx,1518500249
	add	  edx,ecx
	mov	  ecx,[ebp-8]
	shl	  ecx,30
	mov	  esi,[ebp-8]
	shr	  esi,2
	or	  ecx,esi
	mov	  [ebp-8],ecx

	mov	  ecx,[ebx+16]
	shl	  ecx,24
	mov	  esi,[ebx+16]
	shr	  esi,8
	or	  ecx,esi
	and	  ecx,-16711936
	mov	  esi,[ebx+16]
	shl	  esi,8
	mov	  edi,[ebx+16]
	shr	  edi,24
	or	  esi,edi
	and	  esi,16711935
	or	  ecx,esi
	mov	  [ebx+16],ecx
	mov	  esi,[ebp-8]
	xor	  esi,[ebp-12]
	and	  esi,[ebp-4]
	xor	  esi,[ebp-12]
	add	  ecx,esi
	mov	  esi,edx
	shl	  esi,5
	mov	  edi,edx
	shr	  edi,27
	or	  esi,edi
	add	  ecx,esi
	add	  ecx,1518500249
	add	  eax,ecx
	mov	  ecx,[ebp-4]
	shl	  ecx,30
	mov	  esi,[ebp-4]
	shr	  esi,2
	or	  ecx,esi
	mov	  [ebp-4],ecx
	mov	  ecx,[ebx+20]
	shl	  ecx,24
	mov	  esi,[ebx+20]
	shr	  esi,8
	or	  ecx,esi
	and	  ecx,-16711936
	mov	  esi,[ebx+20]
	shl	  esi,8
	mov	  edi,[ebx+20]
	shr	  edi,24
	or	  esi,edi
	and	  esi,16711935
	or	  ecx,esi
	mov	  [ebx+20],ecx
	mov	  esi,[ebp-4]
	xor	  esi,[ebp-8]
	and	  esi,edx
	xor	  esi,[ebp-8]
	add	  ecx,esi
	mov	  esi,eax
	shl	  esi,5
	mov	  edi,eax
	shr	  edi,27
	or	  esi,edi
	add	  ecx,esi
	add	  ecx,1518500249
	add	  [ebp-12],ecx
	mov	  ecx,edx
	shl	  ecx,30
	shr	  edx,2
	or	  ecx,edx
	mov	  edx,ecx
	mov	  ecx,[ebx+24]
	shl	  ecx,24
	mov	  esi,[ebx+24]
	shr	  esi,8
	or	  ecx,esi
	and	  ecx,-16711936
	mov	  esi,[ebx+24]
	shl	  esi,8
	mov	  edi,[ebx+24]
	shr	  edi,24
	or	  esi,edi
	and	  esi,16711935
	or	  ecx,esi
	mov	  [ebx+24],ecx
	mov	  esi,[ebp-4]
	xor	  esi,edx
	and	  esi,eax
	xor	  esi,[ebp-4]
	add	  ecx,esi
	mov	  esi,[ebp-12]
	shl	  esi,5
	mov	  edi,[ebp-12]
	shr	  edi,27
	or	  esi,edi
	add	  ecx,esi
	add	  ecx,1518500249
	add	  [ebp-8],ecx
	mov	  ecx,eax
	shl	  ecx,30
	shr	  eax,2
	or	  ecx,eax
	mov	  eax,ecx
	mov	  ecx,[ebx+28]
	shl	  ecx,24
	mov	  esi,[ebx+28]
	shr	  esi,8
	or	  ecx,esi
	and	  ecx,-16711936
	mov	  esi,[ebx+28]
	shl	  esi,8
	mov	  edi,[ebx+28]
	shr	  edi,24
	or	  esi,edi
	and	  esi,16711935
	or	  ecx,esi
	mov	  [ebx+28],ecx
	mov	  esi,edx
	xor	  esi,eax
	and	  esi,[ebp-12]
	xor	  esi,edx
	add	  ecx,esi
	mov	  esi,[ebp-8]
	shl	  esi,5
	mov	  edi,[ebp-8]
	shr	  edi,27
	or	  esi,edi
	add	  ecx,esi
	add	  ecx,1518500249
	add	  [ebp-4],ecx
	mov	  ecx,[ebp-12]
	shl	  ecx,30
	mov	  esi,[ebp-12]
	shr	  esi,2
	or	  ecx,esi
	mov	  [ebp-12],ecx

	mov	  ecx,[ebx+32]
	shl	  ecx,24
	mov	  esi,[ebx+32]
	shr	  esi,8
	or	  ecx,esi
	and	  ecx,-16711936
	mov	  esi,[ebx+32]
	shl	  esi,8
	mov	  edi,[ebx+32]
	shr	  edi,24
	or	  esi,edi
	and	  esi,16711935
	or	  ecx,esi
	mov	  [ebx+32],ecx
	mov	  esi,[ebp-12]
	xor	  esi,eax
	and	  esi,[ebp-8]
	xor	  esi,eax
	add	  ecx,esi
	mov	  esi,[ebp-4]
	shl	  esi,5
	mov	  edi,[ebp-4]
	shr	  edi,27
	or	  esi,edi
	add	  ecx,esi
	add	  ecx,1518500249
	add	  edx,ecx
	mov	  ecx,[ebp-8]
	shl	  ecx,30
	mov	  esi,[ebp-8]
	shr	  esi,2
	or	  ecx,esi
	mov	  [ebp-8],ecx
	mov	  ecx,[ebx+36]
	shl	  ecx,24
	mov	  esi,[ebx+36]
	shr	  esi,8
	or	  ecx,esi
	and	  ecx,-16711936
	mov	  esi,[ebx+36]
	shl	  esi,8
	mov	  edi,[ebx+36]
	shr	  edi,24
	or	  esi,edi
	and	  esi,16711935
	or	  ecx,esi
	mov	  [ebx+36],ecx
	mov	  esi,[ebp-8]
	xor	  esi,[ebp-12]
	and	  esi,[ebp-4]
	xor	  esi,[ebp-12]
	add	  ecx,esi
	mov	  esi,edx
	shl	  esi,5
	mov	  edi,edx
	shr	  edi,27
	or	  esi,edi
	add	  ecx,esi
	add	  ecx,1518500249
	add	  eax,ecx
	mov	  ecx,[ebp-4]
	shl	  ecx,30
	mov	  esi,[ebp-4]
	shr	  esi,2
	or	  ecx,esi
	mov	  [ebp-4],ecx
	mov	  ecx,[ebx+40]
	shl	  ecx,24
	mov	  esi,[ebx+40]
	shr	  esi,8
	or	  ecx,esi
	and	  ecx,-16711936
	mov	  esi,[ebx+40]
	shl	  esi,8
	mov	  edi,[ebx+40]
	shr	  edi,24
	or	  esi,edi
	and	  esi,16711935
	or	  ecx,esi
	mov	  [ebx+40],ecx
	mov	  esi,[ebp-4]
	xor	  esi,[ebp-8]
	and	  esi,edx
	xor	  esi,[ebp-8]
	add	  ecx,esi
	mov	  esi,eax
	shl	  esi,5
	mov	  edi,eax
	shr	  edi,27
	or	  esi,edi
	add	  ecx,esi
	add	  ecx,1518500249
	add	  [ebp-12],ecx
	mov	  ecx,edx
	shl	  ecx,30
	shr	  edx,2
	or	  ecx,edx
	mov	  edx,ecx
	mov	  ecx,[ebx+44]
	shl	  ecx,24
	mov	  esi,[ebx+44]
	shr	  esi,8
	or	  ecx,esi
	and	  ecx,-16711936
	mov	  esi,[ebx+44]
	shl	  esi,8
	mov	  edi,[ebx+44]
	shr	  edi,24
	or	  esi,edi
	and	  esi,16711935
	or	  ecx,esi
	mov	  [ebx+44],ecx
	mov	  esi,[ebp-4]
	xor	  esi,edx
	and	  esi,eax
	xor	  esi,[ebp-4]
	add	  ecx,esi
	mov	  esi,[ebp-12]
	shl	  esi,5
	mov	  edi,[ebp-12]
	shr	  edi,27
	or	  esi,edi
	add	  ecx,esi
	add	  ecx,1518500249
	add	  [ebp-8],ecx
	mov	  ecx,eax
	shl	  ecx,30
	shr	  eax,2
	or	  ecx,eax
	mov	  eax,ecx

	mov	  ecx,[ebx+48]
	shl	  ecx,24
	mov	  esi,[ebx+48]
	shr	  esi,8
	or	  ecx,esi
	and	  ecx,-16711936
	mov	  esi,[ebx+48]
	shl	  esi,8
	mov	  edi,[ebx+48]
	shr	  edi,24
	or	  esi,edi
	and	  esi,16711935
	or	  ecx,esi
	mov	  [ebx+48],ecx
	mov	  esi,edx
	xor	  esi,eax
	and	  esi,[ebp-12]
	xor	  esi,edx
	add	  ecx,esi
	mov	  esi,[ebp-8]
	shl	  esi,5
	mov	  edi,[ebp-8]
	shr	  edi,27
	or	  esi,edi
	add	  ecx,esi
	add	  ecx,1518500249
	add	  [ebp-4],ecx
	mov	  ecx,[ebp-12]
	shl	  ecx,30
	mov	  esi,[ebp-12]
	shr	  esi,2
	or	  ecx,esi
	mov	  [ebp-12],ecx
	mov	  ecx,[ebx+52]
	shl	  ecx,24
	mov	  esi,[ebx+52]
	shr	  esi,8
	or	  ecx,esi
	and	  ecx,-16711936
	mov	  esi,[ebx+52]
	shl	  esi,8
	mov	  edi,[ebx+52]
	shr	  edi,24
	or	  esi,edi
	and	  esi,16711935
	or	  ecx,esi
	mov	  [ebx+52],ecx
	mov	  esi,[ebp-12]
	xor	  esi,eax
	and	  esi,[ebp-8]
	xor	  esi,eax
	add	  ecx,esi
	mov	  esi,[ebp-4]
	shl	  esi,5
	mov	  edi,[ebp-4]
	shr	  edi,27
	or	  esi,edi
	add	  ecx,esi
	add	  ecx,1518500249
	add	  edx,ecx
	mov	  ecx,[ebp-8]
	shl	  ecx,30
	mov	  esi,[ebp-8]
	shr	  esi,2
	or	  ecx,esi
	mov	  [ebp-8],ecx
	mov	  ecx,[ebx+56]
	shl	  ecx,24
	mov	  esi,[ebx+56]
	shr	  esi,8
	or	  ecx,esi
	and	  ecx,-16711936
	mov	  esi,[ebx+56]
	shl	  esi,8
	mov	  edi,[ebx+56]
	shr	  edi,24
	or	  esi,edi
	and	  esi,16711935
	or	  ecx,esi
	mov	  [ebx+56],ecx
	mov	  esi,[ebp-8]
	xor	  esi,[ebp-12]
	and	  esi,[ebp-4]
	xor	  esi,[ebp-12]
	add	  ecx,esi
	mov	  esi,edx
	shl	  esi,5
	mov	  edi,edx
	shr	  edi,27
	or	  esi,edi
	add	  ecx,esi
	add	  ecx,1518500249
	add	  eax,ecx
	mov	  ecx,[ebp-4]
	shl	  ecx,30
	mov	  esi,[ebp-4]
	shr	  esi,2
	or	  ecx,esi
	mov	  [ebp-4],ecx
	mov	  ecx,[ebx+60]
	shl	  ecx,24
	mov	  esi,[ebx+60]
	shr	  esi,8
	or	  ecx,esi
	and	  ecx,-16711936
	mov	  esi,[ebx+60]
	shl	  esi,8
	mov	  edi,[ebx+60]
	shr	  edi,24
	or	  esi,edi
	and	  esi,16711935
	or	  ecx,esi
	mov	  [ebx+60],ecx
	mov	  esi,[ebp-4]
	xor	  esi,[ebp-8]
	and	  esi,edx
	xor	  esi,[ebp-8]
	add	  ecx,esi
	mov	  esi,eax
	shl	  esi,5
	mov	  edi,eax
	shr	  edi,27
	or	  esi,edi
	add	  ecx,esi
	add	  ecx,1518500249
	add	  [ebp-12],ecx
	mov	  ecx,edx
	shl	  ecx,30
	shr	  edx,2
	or	  ecx,edx
	mov	  edx,ecx

	mov	  ecx,[ebx+52]
	xor	  ecx,[ebx+32]
	xor	  ecx,[ebx+8]
	xor	  ecx,[ebx]
	add	  ecx,ecx
	mov	  esi,[ebx+52]
	xor	  esi,[ebx+32]
	xor	  esi,[ebx+8]
	xor	  esi,[ebx]
	shr	  esi,31
	or	  ecx,esi
	mov	  [ebx],ecx
	mov	  esi,[ebp-4]
	xor	  esi,edx
	and	  esi,eax
	xor	  esi,[ebp-4]
	add	  ecx,esi
	mov	  esi,[ebp-12]
	shl	  esi,5
	mov	  edi,[ebp-12]
	shr	  edi,27
	or	  esi,edi
	add	  ecx,esi
	add	  ecx,1518500249
	add	  [ebp-8],ecx
	mov	  ecx,eax
	shl	  ecx,30
	shr	  eax,2
	or	  ecx,eax
	mov	  eax,ecx
	mov	  ecx,[ebx+56]
	xor	  ecx,[ebx+36]
	xor	  ecx,[ebx+12]
	xor	  ecx,[ebx+4]
	add	  ecx,ecx
	mov	  esi,[ebx+56]
	xor	  esi,[ebx+36]
	xor	  esi,[ebx+12]
	xor	  esi,[ebx+4]
	shr	  esi,31
	or	  ecx,esi
	mov	  [ebx+4],ecx
	mov	  esi,edx
	xor	  esi,eax
	and	  esi,[ebp-12]
	xor	  esi,edx
	add	  ecx,esi
	mov	  esi,[ebp-8]
	shl	  esi,5
	mov	  edi,[ebp-8]
	shr	  edi,27
	or	  esi,edi
	add	  ecx,esi
	add	  ecx,1518500249
	add	  [ebp-4],ecx
	mov	  ecx,[ebp-12]
	shl	  ecx,30
	mov	  esi,[ebp-12]
	shr	  esi,2
	or	  ecx,esi
	mov	  [ebp-12],ecx
	mov	  ecx,[ebx+60]
	xor	  ecx,[ebx+40]
	xor	  ecx,[ebx+16]
	xor	  ecx,[ebx+8]
	add	  ecx,ecx
	mov	  esi,[ebx+60]
	xor	  esi,[ebx+40]
	xor	  esi,[ebx+16]
	xor	  esi,[ebx+8]
	shr	  esi,31
	or	  ecx,esi
	mov	  [ebx+8],ecx
	mov	  esi,[ebp-12]
	xor	  esi,eax
	and	  esi,[ebp-8]
	xor	  esi,eax
	add	  ecx,esi
	mov	  esi,[ebp-4]
	shl	  esi,5
	mov	  edi,[ebp-4]
	shr	  edi,27
	or	  esi,edi
	add	  ecx,esi
	add	  ecx,1518500249
	add	  edx,ecx
	mov	  ecx,[ebp-8]
	shl	  ecx,30
	mov	  esi,[ebp-8]
	shr	  esi,2
	or	  ecx,esi
	mov	  [ebp-8],ecx
	mov	  ecx,[ebx]
	xor	  ecx,[ebx+44]
	xor	  ecx,[ebx+20]
	xor	  ecx,[ebx+12]
	add	  ecx,ecx
	mov	  esi,[ebx]
	xor	  esi,[ebx+44]
	xor	  esi,[ebx+20]
	xor	  esi,[ebx+12]
	shr	  esi,31
	or	  ecx,esi
	mov	  [ebx+12],ecx
	mov	  esi,[ebp-8]
	xor	  esi,[ebp-12]
	and	  esi,[ebp-4]
	xor	  esi,[ebp-12]
	add	  ecx,esi
	mov	  esi,edx
	shl	  esi,5
	mov	  edi,edx
	shr	  edi,27
	or	  esi,edi
	add	  ecx,esi
	add	  ecx,1518500249
	add	  eax,ecx
	mov	  ecx,[ebp-4]
	shl	  ecx,30
	mov	  esi,[ebp-4]
	shr	  esi,2
	or	  ecx,esi
	mov	  [ebp-4],ecx

	mov	  ecx,[ebx+4]
	xor	  ecx,[ebx+48]
	xor	  ecx,[ebx+24]
	xor	  ecx,[ebx+16]

⌨️ 快捷键说明

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