Hash 如何使用flask生成散列共享链接

Hash 如何使用flask生成散列共享链接,hash,hyperlink,flask,Hash,Hyperlink,Flask,我正在开发一个应用程序,我想实现“共享”功能,可以将内容共享到facebook或twitter。每个内容都有自己的id,我想在单击“共享”按钮时生成一个哈希链接。比如说,如果有一篇文章A,我想把它分享给facebook,那么我点击“分享给facebook”按钮。然后它应该生成一个url,看起来像“http//my\u app\u backstage\u server/assessment/hash(id)”,其中hash(id)不是内容的真实id,而是经过哈希处理的id。如何在Flask框架中实

我正在开发一个应用程序,我想实现“共享”功能,可以将内容共享到facebook或twitter。每个内容都有自己的id,我想在单击“共享”按钮时生成一个哈希链接。比如说,如果有一篇文章A,我想把它分享给facebook,那么我点击“分享给facebook”按钮。然后它应该生成一个url,看起来像“http//my\u app\u backstage\u server/assessment/hash(id)”,其中hash(id)不是内容的真实id,而是经过哈希处理的id。如何在Flask框架中实现这一点? 谢谢

或者只需在facebook上创建指向您页面的链接(如果您不想为此操作生成特殊链接)。所以您只需要提供内容页访问

您可以生成随机字符串或实哈希并将其存储在数据库中(不要忘记此值必须是唯一的):

我认为您不需要对内容同时具有id和哈希访问权限

如果您想为任何共享按钮操作生成链接(我真的不明白为什么):

  • 您必须为此链接添加路由
  • 必须添加路由才能创建链接
  • 如果您没有共享数据的用户权限,您可以通过ajax创建链接并在之后共享
  • 如果您有共享数据的用户权限,您可以按应用程序创建链接(ajax或仅链接)

  • 非常感谢你的帮助!
    import random
    import string
    from hashlib import sha512
    
    SIMPLE_CHARS = string.ascii_letters + string.digits
    
    def get_random_string(length=24):
        return ''.join(random.choice(SIMPLE_CHARS) for i in xrange(length))
    
    def get_random_hash(length=24):
        hash = sha512()
        hash.update(get_random_string())
        return hash.hexdigest()[:length]