Geração de string aleatória com Python

Me propus solucionar um desafio que vi em um post no Webmaster Source, nele o autor descreveu como gerar uma licença de software usando PHP (Generating a Software License Key String with PHP), gostei da abordagem e tentei resolver o mesmo problema de modo mais “pythonico”.

Primeiramente no exemplo devemos gerar uma string semelhante a este tipo de licença “5XTPI-DUE4L-T2960-Q87EL”, com certeza você já viu alguma licença parecida nesse modelo. Para gerarmos essa licença, precisamos trabalhar com geração de caracteres aleatórios, levando em consideração os dígitos. No Python, temos a biblioteca string, que irá nos ajudar a chamar esses caracteres e a biblioteca random a escolher aleatoriamente qual caracter irá compor os segmentos da licença.

Aqui segue minha solução para o problema, de modo bem explicativo:


# -*- coding: UTF-8 -*-
import random
import string

def generate_key_string():
tokens = string.ascii_uppercase + string.digits #quais caracteres aceitos
segmentos_char = 5 #numero de caracteres por segmento
segmentos = 4 #numero de segmentos
key_string = ” #chave a ser gerada

for x in range(segmentos):
key_string += ”.join(random.choice(tokens) for y in range(segmentos_char))
if x < segmentos-1: key_string += '-' return key_string def main(): print generate_key_string() main() [/python] Caso tenha ficado com dúvida, recomendo o tópico (python random string generation with upper case letters and digits) do stackoverflow, nele está muito bem explicado como trabalhar com strings aleatórias.

Vinicius Viana

Sobre o Autor

Analista Front-end / Web Analytics na Wunderman. Já atuei no desenvolvimento de vários sites e e-commerces, atuando sempre na área de marketing digital (SEO, Web Analytics e Links Patrocinados). Certificado em Google Analytics - GAIQ

Deixe um Comentário