屏蔽/隐藏 github 访问令牌

Posted

技术标签:

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

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

【问题讨论】:

【参考方案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 编码使其安全。让我举个例子。

以上是关于屏蔽/隐藏 github 访问令牌的主要内容,如果未能解决你的问题,请参考以下文章

作曲家隐藏令牌

公开使用 GitHub 访问令牌

markdown [为github创建私人访问令牌] #github

如何通过命令行更新 GitHub 访问令牌

在 TortoiseSVN 中使用 github 个人访问令牌

我从哪里获得公钥来验证 GitHub 的访问令牌?