Logan Nommensen
Indala Decoder

Indala Decoder

A Python library for decoding 32-bit Indala26 codes into card numbers, and vice versa

PythonSecurity
September 12, 2024(edited August 25, 2025)2 min read

Story

I have a Flipper Zero, which allows me to read, clone, and emulate RFID cards. At my university, we use Indala26 for the RFID card protocol. I wanted to be able to view the card number and facility code of any scanned cards (though they were printed on the cards), and more importantly, write new cards with arbitrary card numbers and facility codes, such as the card number "1" which may be used for testing purposes.

The Indala26 format is proprietary and was previously not publicly documented anywhere online, so I needed to reverse- engineer the format. With my multiple cards and several others from friends (with their permission), I was able to find the format and publish the findings in the form of a Python project.

Since it seemed to work well for my own purposes (unfortunately my university didn't leave any easily guessable test numbers active though), I decided I could make it into a full Python library and publish it on PyPI for others. It was also good practice at writing very clean and maintainable code, as well as writing documentation.

Features

  • Decode binary or hexadecimal data into card numbers and facility codes
  • Encode card numbers and facility codes into binary or hexadecimal data
  • Validate codes for correct format and checksum
  • Command-line interface for quick encoding/decoding without writing code
  • Thorough documentation with examples

Links

Open-source on GitHub here

Published on the Python Package Index (pip) here