14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
|
#define OF_MD5_DIGEST_SIZE 16
#define OF_SHA1_DIGEST_SIZE 20
extern int _OFHashing_reference;
/**
* \brief A class which provides functions to create an MD5 hash.
*/
@interface OFMD5Hash: OFObject
{
uint32_t buf[4];
uint32_t bits[2];
uint8_t in[64];
BOOL calculated;
}
/**
* \return A new autoreleased MD5 Hash
*/
+ md5Hash;
/**
* Adds a buffer to the hash to be calculated.
*
* \param buf The buffer which should be included into calculation.
* \param size The size of the buffer
*/
- (void)updateWithBuffer: (const char*)buf
ofSize: (size_t)size;
/**
* \return A buffer containing the hash (OF_MD5_DIGEST_SIZE = 16 bytes).
* The buffer is part of object's memory pool.
*/
- (uint8_t*)digest;
@end
/**
* \brief A class which provides functions to create an SHA1 hash.
*/
@interface OFSHA1Hash: OFObject
{
uint32_t state[5];
uint64_t count;
char buffer[64];
uint8_t digest[OF_SHA1_DIGEST_SIZE];
BOOL calculated;
}
/**
* \return A new autoreleased SHA1 Hash
*/
+ sha1Hash;
/**
* Adds a buffer to the hash to be calculated.
*
* \param buf The buffer which should be included into calculation.
* \param size The size of the buffer
*/
- (void)updateWithBuffer: (const char*)buf
ofSize: (size_t)size;
/**
* \return A buffer containing the hash (OF_SHA1_DIGEST_SIZE = 20 bytes).
* The buffer is part of object's memory pool.
*/
- (uint8_t*)digest;
@end
/**
* The OFString (OFHashing) category provides methods to calculate hashes for
* strings.
*/
@interface OFString (OFHashing)
|
|
|
<
<
<
<
<
<
<
<
<
|
|
|
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
|
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
|
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
|
#define OF_MD5_DIGEST_SIZE 16
#define OF_SHA1_DIGEST_SIZE 20
extern int _OFHashing_reference;
/**
* \brief A base class for classes providing hash functions.
*/
@interface OFHash: OFObject
{
BOOL calculated;
}
/**
* Adds a buffer to the hash to be calculated.
*
* \param buf The buffer which should be included into the calculation.
* \param size The size of the buffer
*/
- (void)updateWithBuffer: (const char*)buf
ofSize: (size_t)size;
/**
* \return A buffer containing the hash. The size of the buffer is depending
* on the hash used. The buffer is part of object's memory pool.
*/
- (uint8_t*)digest;
@end
/**
* \brief A class which provides functions to create an MD5 hash.
*/
@interface OFMD5Hash: OFHash
{
uint32_t buf[4];
uint32_t bits[2];
uint8_t in[64];
}
/**
* \return A new autoreleased MD5 Hash
*/
+ md5Hash;
@end
/**
* \brief A class which provides functions to create an SHA1 hash.
*/
@interface OFSHA1Hash: OFHash
{
uint32_t state[5];
uint64_t count;
char buffer[64];
uint8_t digest[OF_SHA1_DIGEST_SIZE];
}
/**
* \return A new autoreleased SHA1 Hash
*/
+ sha1Hash;
@end
/**
* The OFString (OFHashing) category provides methods to calculate hashes for
* strings.
*/
@interface OFString (OFHashing)
|