In this video we’ll build out a software registration key generator.
Let’s say you build some software that you want to sell, and you want your users to need a registration key in order to unlock the software.
This code will build a registration key in this general pattern:
aaaa-bbbb-cccc-dddd-1234
Randomly assigning letters or numbers to each of those digits of the key.
Python Code: register.py
(Github Code)
from tkinter import * import random root = Tk() root.title('Codemy.com - Software Registration Key Generator') root.iconbitmap('c:/gui/codemy.ico') root.geometry("500x500") # Generate Key def generate(): # Clear key label key_label.delete(0, END) verify_label.config(text="") # Set some defaults key = '' section = '' check_digit_count = 0 alphabet = 'abcdefghijklmnopqrstuvwxyz1234567890' # key = aaaa-bbbb-cccc-dddd-1111 or 24 characters while len(key) < 25: # Randomly pick digit from alphabet char = random.choice(alphabet) # Add random choice to key key += char # Also add the random choice to the section blob section += char # Add in the dashes/hyphens if len(section) == 4: # add in a hyphen key += '-' # Reset the section to nothing section = '' # set key to all but the last digit key = key[:-1] # output the key key_label.insert(0, key) # Create a button generate_button = Button(root, text="Generate Key!", font=("Helvetica", 32), command=generate) generate_button.pack(pady=50) # Key Label key_label = Entry(root, font=("Helvetica", 24), bd=0, bg="systembuttonface", width=25) key_label.pack(pady=10, padx=50) # Verify Label verify_label = Label(root, text="Waiting...", font=("Helvetica", 32)) verify_label.pack(pady=10) # Score Label score_label = Label(root, text="Score: ", font=("Helvetica", 32)) score_label.pack(pady=10) root.mainloop()
Add comment