Artifact 19853167aefbee63e1a89232eab31e1d7799bb3d5e69e80c3829977268b07847:
- File
src/OFSHA1Hash.h
— part of check-in
[d310aeee30]
at
2014-08-31 17:59:31
on branch trunk
— Rewrite OFSHA1Hash
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: 910) [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 OFSHA1Hash OFSHA1Hash.h ObjFW/OFSHA1Hash.h * * @brief A class which provides functions to create an SHA1 hash. */ @interface OFSHA1Hash: OFObject <OFHash> { uint32_t _state[5]; uint64_t _bits; union { uint8_t bytes[64]; uint32_t words[80]; } _buffer; size_t _bufferLength; bool _calculated; } @end