如何支持解密加密字符串以添加到我的请求标头中,但仍然记录显示加密字符串的请求标头?

时间:2015-04-28 15:35:13

标签: python-3.x encryption

如何支持解密加密字符串以添加到我的请求标头中,但仍然记录显示加密字符串的请求标头?

目前发生的事情是:

dirname = unicode(os.path.join(path, folder), 'mbcs')
file_list = os.listdir(dirname)
for filename in file_list:
    stats = os.stat(os.path.join(dirname, filename))
    # ...
  

[控制台输出] {'授权':'NLAuth   nlauth_account = 1111111,nlauth_email =我的@ EMAILADDRESS,nlauth_signature =输入mypassword!,nlauth_role = 3'   'Content-type':'application / json','Accept':'application / json'}

我想要的是:

  

[控制台输出] {'授权':'NLAuth   nlauth_account = 1111111,nlauth_email =我的@ EMAILADDRESS,nlauth_signature = b'bXlwYXNzd29yZCE =”,nlauth_role = 3'   'Content-type':'application / json','Accept':'application / json'}

Web服务需要Authorization标头中的字符串值,传入任何加密的字符串都会导致身份验证失败 - 因此需要在请求时解码,但这并不意味着我希望它在我的日志文件或控制台中解码。

1 个答案:

答案 0 :(得分:0)

从req.headers创建一个临时对象,然后将其传递给logging.debug()。

_ = {}
for k,v in req.headers.items():
  v = k == 'Authorization' and re.sub('nlauth_signature=([^,]+)',\
                                      repr(original_password),\
                                      v) or v
  _[k]=v

logging.debug(_)

如果只是简单地输入“< masked>”就更好了而不是re.sub()调用中的original_password