gpt4 book ai didi

python - 如何为网站设计用户ID?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:47:15 25 4
gpt4 key购买 nike

我在一个玩具网站上工作,我已经实现了一个投票按钮,具有如下的 onclick 属性:

Dajaxice.debater.upvote(
upvote_js,//Don't worry about this, it's just dealing with AJAX
{
'username' : 'bob',//bob is the user being upvoted by
}
)

你看到的问题是网页直接使用用户名,这是一个糟糕的设计,因为用户可以轻松打开 chrome 控制台,更改用户名并伪造一个请求,说 alice 而不是 bob。我调查了几个网站,发现他们正在使用一个看起来像散列的长字符串来代表用户。我想知道这通常是如何实现的?在更一般的形式中,我正在寻找一种算法:

  1. 为每个用户提供一个唯一的 ID
  2. 即使这个 id 被暴露给用户或任何第三方,他们也不知道这个 id 代表哪个用户,而不需要使用很长时间或大量内存来计算(反转哈希)。

最佳答案

您可以生成字符串的加密形式(根据定义,哈希是不可逆的)。

这样做的缺点是,如果有人拥有您所有用户的列表,他们就可以计算出您使用的算法并破解您的加密。

可逆 加密的常用方法是使用 base64 :

>>> import base64
>>> secret = base64.b64encode('bob')
>>> secret
'Ym9i'
>>> print base64.b64decode('Ym9i')
bob

关于python - 如何为网站设计用户ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16383588/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com