Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

sha.cpp #1384

Open
6 of 7 tasks
AJenbo opened this issue Aug 29, 2019 · 7 comments
Open
6 of 7 tasks

sha.cpp #1384

AJenbo opened this issue Aug 29, 2019 · 7 comments
Milestone

Comments

@AJenbo
Copy link
Member

AJenbo commented Aug 29, 2019

  • SHA1Clear
  • SHA1Result
  • SHA1Calculate
  • SHA1Input
  • SHA1ProcessMessageBlock
  • SHA1Reset
  • SHA1Init
@AJenbo AJenbo added this to the Hellfire milestone Aug 29, 2019
@glebm
Copy link
Contributor

glebm commented Oct 9, 2019

Perhaps SHA1ProcessMessageBlock needs to use DWORD internally instead of int:

	DWORD i, temp;
	DWORD W[80];
	DWORD A, B, C, D, E;

The current code in there does not calculate SHA1 (because it bit-shifts signed types instead of unsigned ones).

If this turns out to be the correct fix, it will break compatibility with existing devilution save games (due to signatures not matching).

Related: diasurgical/devilutionX#341

@qndel
Copy link
Member

qndel commented Oct 9, 2019

it's not bin exact in vanilla
image

@AJenbo
Copy link
Member Author

AJenbo commented Oct 9, 2019

Blizzard SHA1 is notoriously broken compared to the standard, this issue affects most of there games afaik. Since we strive to be compatible with the original save games we can't really fix this either.

@glebm
Copy link
Contributor

glebm commented Oct 9, 2019

it's not bin exact in vanilla

Is the int version bin exact?

@qndel
Copy link
Member

qndel commented Oct 9, 2019

ofc, we got ALL functions in vanilla bin exact

@glebm
Copy link
Contributor

glebm commented Oct 9, 2019

Nice! What's the empty checkbox next to the function name referring to btw?

@qndel
Copy link
Member

qndel commented Oct 9, 2019

hellfire bin exact progress
https://github.com/diasurgical/devilution/milestone/4

@AJenbo AJenbo added the low priority This should be worked on later label Dec 11, 2020
@AJenbo AJenbo removed the low priority This should be worked on later label Jan 16, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants