Generate a Unique String in Python/Django

后端 未结 10 2602
清酒与你
清酒与你 2020-12-15 05:56

What I want is to generate a string(key) of size 5 for my users on my website. More like a BBM PIN.

The key will contain numbers and uppercase English letters:

10条回答
  •  一向
    一向 (楼主)
    2020-12-15 06:22

    If you have a way of associating each user to a unique ID (for example Primary Key in Django or Flask). You can do something like this:

    Note: This does not generate a fixed length.

    We will pad the user_id to the right to make the generated length a bit static

    import os
    import base64
    
    user_id = 1
    
    #pad the string
    number_generate = str(user_id).rjust(5,"0")
    
    base64.b32encode(bytes(number_generate, 'utf-8')).decode('utf-8').replace('=','')
    

提交回复
热议问题