Python:为用户名创建“秘密ID”

时间:2018-09-18 05:07:00

标签: python django python-3.x

我有一个模特:

Target(Model):
    name = CharField()
    user = ForeignKey(User)

还有

Hunter(Model):
    club = CharField()

猎人应该看不到目标的名称。因此,我希望他们看到一个秘密的匿名名称。也许像John Smith => Ao3n(Sn331

我尝试使用hashlib来做到这一点:

hashlib.md5("targetEmail@hunterClubName".encode()).digest()

,但是就没有办法反转散列来找出目标实际上是谁。什么是实现这一目标的更好方法?

2 个答案:

答案 0 :(得分:-1)

secret_id=models.CharField(max_length=100, blank=True, unique=True, default=uuid.uuid4)

那行得通吗?

答案 1 :(得分:-1)

您可以使用ManyToMany关系

class Secret(models.Model):
    hunter = models.ForeignKey(Hunter)
    target = models.ForeignKey(Target)
    secret_id=models.CharField(max_length=100, blank=True, unique=True, default=uuid.uuid4)