gfc64

Obscures database sequential primary keys (or any 64-bit int) using a Feistel cipher. Throw away your UUIDs! (by abevoelker)

Gfc64 Alternatives

Similar projects and alternatives to gfc64

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a better gfc64 alternative or higher similarity.

gfc64 reviews and mentions

Posts with mentions or reviews of gfc64. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-02-17.
  • My Notes on Gitlab's Postgres Schema Design (2022)
    3 projects | news.ycombinator.com | 17 Feb 2024
    The point about the storage size of UUID columns is unconvincing. 128 bits vs. 64 bits doesn't matter much when the table has five other columns.

    A much more salient concern for me is performance. UUIDv4 is widely supported but is completely random, which is not ideal for index performance. UUIDv7[0] is closer to Snowflake[1] and has some temporal locality but is less widely implemented.

    There's an orthogonal approach which is using bigserial and encrypting the keys: https://github.com/abevoelker/gfc64

    But this means 1) you can't rotate the secret and 2) if it's ever leaked everyone can now Fermi-estimate your table sizes.

    Having separate public and internal IDs seems both tedious and sacrifices performance (if the public-facing ID is a UUIDv4).

    I think UUIDv7 is the solution that checks the most boxes.

    [0]: https://uuid7.com/

    [1]: https://en.wikipedia.org/wiki/Snowflake_ID

  • Sqids – Generate Short Unique IDs from Numbers
    13 projects | news.ycombinator.com | 25 Nov 2023
    I've been too lazy to do a writeup about it but I wrote a Ruby gem to address this problem of hiding sequential primary keys that uses a Feistel network to effectively shuffle int64 IDs: https://github.com/abevoelker/gfc64

    So instead of

        /customers/1

Stats

Basic gfc64 repo stats
2
10
6.9
6 months ago

Sponsored
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com