--- title: "Appendix B: IPv6 Address Normalization" slug: "appendix-b-ipv6-address-normalization" updated: 2026-03-19T20:49:20Z published: 2026-03-19T20:50:03Z canonical: "help.yahooinc.com/appendix-b-ipv6-address-normalization" --- > ## Documentation Index > Fetch the complete documentation index at: https://help.yahooinc.com/llms.txt > Use this file to discover all available pages before exploring further. # Appendix B: IPv6 Address Normalization Normalized IPv6 addresses are required for upload into DataX. IPv6 addresses must be normalized according to RFC 5952 normalization rules, so that the data can be 100% accurately matched after encryption. If IPv6 addresses are not normalized, a single IP address can be written in multiple valid formats (e.g., 2001:db8:0:0::1 and 2001:0db8::0001). | Format | Description | Normalized Example | | --- | --- | --- | | **Full IPv6 Address** | 128-bit address, maximally compressed per RFC 5952 rules | 2001:db8::1 | > [!WARNING] > Important > > - Submitting /64 prefixes or other CIDR blocks is not supported. > - **IPv4-Mapped IPv6**: Do not submit addresses like ::ffff:192.168.1.1. Please hash the original IPv4 address instead. ## Normalization Rules (RFC 5952) Normalize IPv6 addresses as follows: 1. **Suppress Leading Zeros:** Leading zeros in each 16-bit group must be removed. - 2001:0db8 → 2001:db8 2. **Longest Zero Run (::):** Use :: to replace the longest consecutive sequence of all-zero groups. - 2001:db8:0:0:0:0:0:1 → 2001:db8::1 3. **Tie-breaking:** If there are two zero runs of equal length, compress the **first (leftmost)** one. - 2001:db8:0:0:1:0:0:1 → 2001:db8::1:0:0:1 4. **No Single Group Compression:** Do not use :: to replace a single 16-bit zero group. Use :0: instead. - 2001:db8:0:1:0:0:0:1 → 2001:db8:0:1::1 5. **Lowercase:** All hexadecimal characters must be **lowercase**. - 2001:DB8:AAAA::1 → 2001:db8:aaaa::1 ## Verify Normalized IPv6 Addresses The normalized IPv6 address must be verified using SHA256 hashing. The hash input must be the **UTF-8 encoded** normalized string with **no trailing newline**. **To Verify the Normalized IPv6 Address:** Run `echo -n "2001:db8::1" | sha256sum` in the terminal. The output must be `5afd19e...1ed536`. If it differs, the normalization or encoding is wrong. > [!WARNING] > Important > > Trailing Newline > > - Many echo commands add a \n which completely changes the hash. Always use echo -n. ## Examples of Normalized IPs The following are examples of normalized IPv6 addresses with their hash results. | Normalized Value | SHA256 Hash Result | | --- | --- | | 2001:db8::1 | 5afd19e856d1c18d17d600dfd2b5f534992333985e126c2a951047102c1ed536 | | 2001:db8:aaaa:1::1 | a26075760baa14c6db85931695017ae4e20b56b01b017ceacbd5c6fe2f69eecc | | fe80::202:b3ff:fe1e:8329 | a63b8244f25c80d6c736ddc532c28a17a448543b6b5e9dbff39d5c3187822c97 | | 2001:db8:0:1::1 | a81588f63cc78f25925f96562007801a6b9bd628529c6812f6b968ff4ef03b81 |