解密python base68编码哈希的问题

时间:2015-01-10 06:13:18

标签: python escaping

Downvote =没有意识到这个问题是有效的;)

这不起作用:

  t = 'iirFKe2rjTG96AUlUcQvDnGOZd2+W3faKUxTX9q6ttieOOZCXS068foIU4OsYorxMJF+vbT1bJf8\nOmDjOt872BOe3joDxgyW1klb7yMhSX0P/2C0yKQnOzVrmdQLLnJj6pB88/OqIUjYhGQdn2bpY0og\nZhRU5otxccubTo/CkNeykM0GLfKTUE+9VeywnZFYAmflnCcULOxnlAQNgmVKRPu6eSdfhiOR4LpJ\naRmxrUI6aA3VKwo59EjWhrJ/V3uLoVaETDtUG73wV1hJNG5g4nCYpt6CZxulWFt0nxH5dCta507I\nUYLEDEf2rCIHIKusY+ifJxWD67VJ8oJnhJE6cA==\n'
  u = decrypt('private_key', t)

但这样做:

  u = decrypt('private_key', 'iirFKe2rjTG96AUlUcQvDnGOZd2+W3faKUxTX9q6ttieOOZCXS068foIU4OsYorxMJF+vbT1bJf8\nOmDjOt872BOe3joDxgyW1klb7yMhSX0P/2C0yKQnOzVrmdQLLnJj6pB88/OqIUjYhGQdn2bpY0og\nZhRU5otxccubTo/CkNeykM0GLfKTUE+9VeywnZFYAmflnCcULOxnlAQNgmVKRPu6eSdfhiOR4LpJ\naRmxrUI6aA3VKwo59EjWhrJ/V3uLoVaETDtUG73wV1hJNG5g4nCYpt6CZxulWFt0nxH5dCta507I\nUYLEDEf2rCIHIKusY+ifJxWD67VJ8oJnhJE6cA==\n')

我不明白为什么。我需要能够像第一个例子中那样在变量中传递数据。当我print(t)时,它会为我提供正确的数据。

我假设'\'破坏了一切,但我不知道如何修复它。

2 个答案:

答案 0 :(得分:1)

使用raw strings

  t = r'iirFKe2rjTG96AUlUcQvDnGOZd2+W3faKUxTX9q6ttieOOZCXS068foIU4OsYorxMJF+vbT1bJf8\nOmDjOt872BOe3joDxgyW1klb7yMhSX0P/2C0yKQnOzVrmdQLLnJj6pB88/OqIUjYhGQdn2bpY0og\nZhRU5otxccubTo/CkNeykM0GLfKTUE+9VeywnZFYAmflnCcULOxnlAQNgmVKRPu6eSdfhiOR4LpJ\naRmxrUI6aA3VKwo59EjWhrJ/V3uLoVaETDtUG73wV1hJNG5g4nCYpt6CZxulWFt0nxH5dCta507I\nUYLEDEf2rCIHIKusY+ifJxWD67VJ8oJnhJE6cA==\n'
  u = decrypt('private_key', t)

然后不会转义字符。

原始字符串:我的意思是将字母rR放在字符串之前。

这个堆栈溢出线程也值得一读:What exactly do "u" and "r" string flags do in Python, and what are raw string literals?

希望这有帮助。

答案 1 :(得分:0)

幸运的是我找到了答案:)

t = 'string from question here'.decode('string_escape')

您可以通过print(repr(t))代替print(t)

来确定问题