---
title: "CRC-16/XMODEM"
description: "Polynomial 0x1021 with init 0. The two bytes closing Stellar StrKeys and TON addresses"
canonical_url: "https://hashes.agntn.dev/algorithms/crc16-xmodem"
---
# CRC-16/XMODEM

> Polynomial 0x1021 with init 0. The two bytes closing Stellar StrKeys and TON addresses

<algorithm-facts name="crc16-xmodem">



</algorithm-facts>

CRC-16 with polynomial `0x1021`, initial value 0, no reflection. Two bytes that end every Stellar StrKey (the `G…` account IDs) and every TON friendly address.

```ts
create("crc16-xmodem").hash("123456789").digest; // "31c3", the standard check value
```

Printed big-endian, the way TON writes it. Stellar stores the same two bytes little-endian, so for a StrKey swap them. Checksum only, not for security.


## Sitemap

See the full [sitemap](https://hashes.agntn.dev/sitemap.md) for all pages.
