Difference between revisions of "83Plus:BCALLs:8090"
From WikiTI
m (→Destroys) |
m (→Destroys) |
||
Line 17: | Line 17: | ||
=== Destroys === | === Destroys === | ||
− | * [[83Plus:RAM:8259]]: (16 bytes) Alternate registers (roughly equivalent to the AA, BB, CC, and DD registers specified in the MD5 standard.) | + | * [[83Plus:RAM:8259|8259]]: (16 bytes) Alternate registers (roughly equivalent to the AA, BB, CC, and DD registers specified in the MD5 standard.) |
− | * [[83Plus:RAM:83A5]]: (64 bytes) Buffer holding data to be hashed. | + | * [[83Plus:RAM:83A5|83A5]]: (64 bytes) Buffer holding data to be hashed. |
== Comments == | == Comments == |
Revision as of 18:07, 27 March 2005
Contents
Synopsis
Official Name: MD5Update
Other Name: CalculateMD5
BCALL Address: 8090
Calculates the MD5 checksum
Inputs
- BC: The length of the data
- HL: The location of the data
Outputs
- 8269: (4 bytes) Holds the length in bits of the data hashed so far.
- 8292: (16 bytes) Will be changed to contain the new (incremental) MD5 hash of the data you gave it
Destroys
- 8259: (16 bytes) Alternate registers (roughly equivalent to the AA, BB, CC, and DD registers specified in the MD5 standard.)
- 83A5: (64 bytes) Buffer holding data to be hashed.
Comments
This B_CALL incrementally changes the md5 "registers" for the data you give it. But it does not add the size word that is required to generate official MD5 hashes, you have to do this yourself if you want official hashes.
Example
B_CALL InitializeMD5 ld bc,0040h ld hl,SomeAddress B_CALL CalculateMD5
Credits and Contributions
- FloppusMaximus: For testing that this B_CALL also work with lengths unequal to 64 bytes