Masking/hiding 一个 github 访问令牌
Masking/hiding a github access token
假设我有一个 github 访问令牌,看起来像这样 a94a8fe5ccb19ba61c4c0873d391e987982fbbd3
。此令牌需要放置在某些代码中,以便在辅助帐户需要时创建问题。我不想让人们知道我的访问令牌,因为,那将是一个糟糕的主意。. mask/hide 我的访问令牌将其放入代码的最佳方法是什么,我将如何逆转mask/hide 功能还不够明显?
您可以使用 Base64 编码对其进行编码:
>>> import base64
>>> access_token = "a94a8fe5ccb19ba61c4c0873d391e987982fbbd3"
>>> encoded_access_token = base64.b64encode(access_token)
>>> encoded_access_token
'YTk0YThmZTVjY2IxOWJhNjFjNGMwODczZDM5MWU5ODc5ODJmYmJkMw=='
这不一定安全,但我们可以确保它安全。我们可以继续编码 access_token
n
次,并在结果字符串中隐藏数字 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"
最安全的做法是定义您自己的方法来对访问令牌进行编码。
假设我有一个 github 访问令牌,看起来像这样 a94a8fe5ccb19ba61c4c0873d391e987982fbbd3
。此令牌需要放置在某些代码中,以便在辅助帐户需要时创建问题。我不想让人们知道我的访问令牌,因为,那将是一个糟糕的主意。. mask/hide 我的访问令牌将其放入代码的最佳方法是什么,我将如何逆转mask/hide 功能还不够明显?
您可以使用 Base64 编码对其进行编码:
>>> import base64
>>> access_token = "a94a8fe5ccb19ba61c4c0873d391e987982fbbd3"
>>> encoded_access_token = base64.b64encode(access_token)
>>> encoded_access_token
'YTk0YThmZTVjY2IxOWJhNjFjNGMwODczZDM5MWU5ODc5ODJmYmJkMw=='
这不一定安全,但我们可以确保它安全。我们可以继续编码 access_token
n
次,并在结果字符串中隐藏数字 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"
最安全的做法是定义您自己的方法来对访问令牌进行编码。