
Ask HN: Is there a good alternative to software registration keys? - m52go
I&#x27;m about to introduce a new revenue model to a service I run with no user accounts. Users will purchase short-term vouchers to enable certain features in the app, and I&#x27;m planning to generate random 32-character strings that users can paste into the app once they&#x27;ve purchased.<p>But software keys are unwieldy, not nice to look at, and often users get confused (I&#x27;ve used keys like this in the past and got a lot of support requests).<p>Anyone got a better approach?<p>I&#x27;ve considered using images with data embedded and hashing them, using a bitcoin-style seed word approach, but nothing really feels right.
======
Rjevski
Can't you rely on your platform's "App Store" functionality like in-app
purchases and let the platform deal with it?

~~~
m52go
I'm trying to avoid dependence on a platform. I want this software to be
sovereign...software that stands on its own and can't be strong-armed by any
big company (or betrayed by a scandal/exploit).

------
berbec
Doing this without user accounts will make piracy rampant. Someone will figure
out your hashing scheme, as you've shipped them the code to check it. Is no
user accounts, and no registration server really the way to go?

If so, maybe QR codes, key files?

How about a hash to "correct horse battery stapler" converter? Get a list of
4096 unique words, so 12 bits per word, and make the key three words.

~~~
m52go
Hey thanks! QR codes might work, but I think key files will be too unwieldy
for my user base.

Do you mind elaborating on the hash to word concept? I'm not sure I follow.

~~~
berbec
Take a 24-bit key, for ease of example. Split it into three 8-bit sub keys.
Make a list of 256 english words. Assign a word to each subkey.

1101 1000 = chair 1101 1011 = gobble 0110 1001 = stealth

Expand the wordlist or total number of words to fit your use case. I coded
something simalar to make a xkcd-compliant random password generator. Took
maybe a few hundred lines of code. Too much to totally list here, but I'd be
happy to go into more detail off HN if you want.

~~~
mgliwka
You can look it up by searching for "Diceware".

~~~
m52go
Thank you both :)

