#include <Anon.h>
Inheritance diagram for AnonymizeIPAddr_PrefixMD5:


Public Member Functions | |
| ipaddr32_t | anonymize (ipaddr32_t addr) |
Protected Attributes | |
| AnonymizeIPAddr_PrefixMD5::anon_prefix | prefix |
|
|
Implements AnonymizeIPAddr. Definition at line 102 of file Anon.cc. References hmac_md5(), ipaddr32_t, AnonymizeIPAddr_PrefixMD5::anon_prefix::len, AnonymizeIPAddr_PrefixMD5::anon_prefix::prefix, prefix, and uint8.
00103 {
00104 uint8 digest[16];
00105 ipaddr32_t prefix_mask = 0xffffffff;
00106 ipaddr32_t output = input;
00107
00108 for ( int i = 0; i < 32; ++i )
00109 {
00110 prefix.len = 32 - i;
00111 prefix.prefix = input & prefix_mask;
00112
00113 hmac_md5(sizeof(prefix), (u_char*)(&prefix), digest);
00114
00115 ipaddr32_t bit_mask = (digest[0] & 1) << i;
00116 output ^= bit_mask;
00117 }
00118
00119 return output;
00120 }
|
|
|
Referenced by anonymize(). |
1.3.5