Skip to content

CampNowhere/FastMD5

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FastMD5

MD5 library for x64 written in assembler

Requirements to compile:

make
gcc
nasm

All of the above should be available to install in your distribution of choice's package manager. If you use Windows, you might be able to use MinGW with varying degrees of success.

This library is a proof-of-concept at this point. All that is supported right now is the hashing of strings < 56 characters in length. The test program generated by the make process takes a string as an argument and prints out the hash.

This library has been designed with thread safety in mind, with the end goal of implemented in a multi-threaded program to generate hashes as fast as possible. To link this library into your own programs, the following simple commands can be used:

nasm -felf64 -o fastmd5.o
gcc your_program.c fastmd5.o -o your_program

Read fastmd5.h for function definitions. The caller must prepare and zero-pad their own input buffer.

#Todo:

  1. Improve wrapper code to make the library as simple to call as possible
  2. Allow arbitrary length messages to be hashed
  3. Improve assembler padding code.

About

MD5 Library performance optimized for the x64 architecture

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors