【问题标题】:Masking/hiding a github access token屏蔽/隐藏 github 访问令牌
【发布时间】:2018-01-18 02:00:09
【问题描述】:

假设我有一个类似于 a94a8fe5ccb19ba61c4c0873d391e987982fbbd3 的 github 访问令牌。需要将此令牌放置在某些代码中,以便在辅助帐户需要时创建问题。我不希望人们知道我的访问令牌,因为那将是一个糟糕的主意.. 掩盖/隐藏我的访问令牌以将其放入代码中的最佳方法是什么,以及我将如何反转掩码/隐藏功能而不是显而易见的?

【问题讨论】:

    标签: python python-2.7 access-token github-api


    【解决方案1】:

    您可以使用 Base64 编码对其进行编码:

    >>> import base64
    >>> access_token = "a94a8fe5ccb19ba61c4c0873d391e987982fbbd3"
    >>> encoded_access_token = base64.b64encode(access_token)
    >>> encoded_access_token
    'YTk0YThmZTVjY2IxOWJhNjFjNGMwODczZDM5MWU5ODc5ODJmYmJkMw=='
    

    这不一定是安全的,但我们可以确保它安全。我们可以继续编码access_tokenn 次,并在结果字符串中隐藏数字n。我选择了结局。

    例如,设置n = 5

    def encodeToken(access_token, n):
        for i in range(n + 1):
             access_token = base64.b64encode(access_token)
        return access_token + str(n)
    
    def decodeToken(encoded_token):
        n = encoded_token[-1]
        encoded_token = encoded_token[:-1]
        for i in range(int(n) + 1):
             encoded_token = base64.b64decode(encoded_token)
        return encoded_token
    
    >>> access_token = "a94a8fe5ccb19ba61c4c0873d391e987982fbbd3"
    >>> encoded_access_token = encodeToken(access_token, 5)
    >>> encoded_access_token
    "Vm1wR1lWVXlUbkpOVldScFVteGFiMVZ1Y0VkaFJscHlWMjFHYWxadFVsWlZNblIzWWtaS1ZXSkdiRlpOYWtaMlZrUktSMk5zWkhWU2JGWm9UV3hLVUZkclVrSk9Wa3BYWVROd2FsSXdXbFJWYkZKQ1pVWmFSMWR0ZEZkaGVsWlhWREZXVjFkdFZuTlhiRVpXWVRGYU0xcEZXbXRYUlRGV1pFZG9UbEpGVmpaV1ZWcFNaREZDVWxCVU1EMD0=5"
    >>> decoded_access_token = decodeToken(encoded_access_token)
    >>> decoded_access_token
    "a94a8fe5ccb19ba61c4c0873d391e987982fbbd3"
    

    最安全的做法是定义自己的方法来编码访问令牌。

    【讨论】:

    • 好吧,您可以使用 base64 编码使其安全。让我举个例子。
    猜你喜欢
    • 2019-05-30
    • 1970-01-01
    • 2017-08-03
    • 2021-11-26
    • 1970-01-01
    • 2021-12-12
    • 1970-01-01
    • 2014-07-21
    • 1970-01-01
    相关资源
    最近更新 更多