Ask HN: Is there a good alternative to software registration keys?

7 points by m52go ↗ HN
I'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'm planning to generate random 32-character strings that users can paste into the app once they've purchased.

But software keys are unwieldy, not nice to look at, and often users get confused (I've used keys like this in the past and got a lot of support requests).

Anyone got a better approach?

I've considered using images with data embedded and hashing them, using a bitcoin-style seed word approach, but nothing really feels right.

8 comments

[ 2.6 ms ] story [ 22.6 ms ] thread
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.

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.

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.

You can look it up by searching for "Diceware".
Thank you both :)
yes: fuck keys, licenses, and all that shiite. make good software, win lots of customers. be nice and rich. kill your proprietary competition.. jest sayin'..
Can't you rely on your platform's "App Store" functionality like in-app purchases and let the platform deal with it?
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).