Artifact a3122408ccb536fb353f88eb5c34d0e2f85136d985d06c6917794873c15cd735:
- File
src/OFMD5Hash.h
— part of check-in
[c4d2f177cb]
at
2014-08-31 17:59:11
on branch trunk
— Rewrite OFMD5Hash
The old one was based on a public domain implementation, which is
optimized for old compilers and quite unreadable. The new one is written
from scratch and designed to be readable and to exploit optimizations of
modern compilers. (user: js, size: 905) [annotate] [blame] [check-ins using]
/* * Copyright (c) 2008, 2009, 2010, 2011, 2012, 2013, 2014 * Jonathan Schleifer <js@webkeks.org> * * All rights reserved. * * This file is part of ObjFW. It may be distributed under the terms of the * Q Public License 1.0, which can be found in the file LICENSE.QPL included in * the packaging of this file. * * Alternatively, it may be distributed under the terms of the GNU General * Public License, either version 2 or 3, which can be found in the file * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this * file. */ #import "OFHash.h" /*! * @class OFMD5Hash OFMD5Hash.h ObjFW/OFMD5Hash.h * * @brief A class which provides functions to create an MD5 hash. */ @interface OFMD5Hash: OFObject <OFHash> { uint32_t _state[4]; uint64_t _bits; union { uint8_t bytes[64]; uint32_t words[16]; } _buffer; size_t _bufferLength; bool _calculated; } @end