解密 python base68 编码哈希时出现问题



反对票 = 没有意识到这个问题是有效的;)

这不起作用:

  t = 'iirFKe2rjTG96AUlUcQvDnGOZd2+W3faKUxTX9q6ttieOOZCXS068foIU4OsYorxMJF+vbT1bJf8nOmDjOt872BOe3joDxgyW1klb7yMhSX0P/2C0yKQnOzVrmdQLLnJj6pB88/OqIUjYhGQdn2bpY0ognZhRU5otxccubTo/CkNeykM0GLfKTUE+9VeywnZFYAmflnCcULOxnlAQNgmVKRPu6eSdfhiOR4LpJnaRmxrUI6aA3VKwo59EjWhrJ/V3uLoVaETDtUG73wV1hJNG5g4nCYpt6CZxulWFt0nxH5dCta507InUYLEDEf2rCIHIKusY+ifJxWD67VJ8oJnhJE6cA==n'
  u = decrypt('private_key', t)

但这确实:

  u = decrypt('private_key', 'iirFKe2rjTG96AUlUcQvDnGOZd2+W3faKUxTX9q6ttieOOZCXS068foIU4OsYorxMJF+vbT1bJf8nOmDjOt872BOe3joDxgyW1klb7yMhSX0P/2C0yKQnOzVrmdQLLnJj6pB88/OqIUjYhGQdn2bpY0ognZhRU5otxccubTo/CkNeykM0GLfKTUE+9VeywnZFYAmflnCcULOxnlAQNgmVKRPu6eSdfhiOR4LpJnaRmxrUI6aA3VKwo59EjWhrJ/V3uLoVaETDtUG73wV1hJNG5g4nCYpt6CZxulWFt0nxH5dCta507InUYLEDEf2rCIHIKusY+ifJxWD67VJ8oJnhJE6cA==n')

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

我假设''正在破坏一切,但我不知道如何解决它。

使用 raw strings

  t = r'iirFKe2rjTG96AUlUcQvDnGOZd2+W3faKUxTX9q6ttieOOZCXS068foIU4OsYorxMJF+vbT1bJf8nOmDjOt872BOe3joDxgyW1klb7yMhSX0P/2C0yKQnOzVrmdQLLnJj6pB88/OqIUjYhGQdn2bpY0ognZhRU5otxccubTo/CkNeykM0GLfKTUE+9VeywnZFYAmflnCcULOxnlAQNgmVKRPu6eSdfhiOR4LpJnaRmxrUI6aA3VKwo59EjWhrJ/V3uLoVaETDtUG73wV1hJNG5g4nCYpt6CZxulWFt0nxH5dCta507InUYLEDEf2rCIHIKusY+ifJxWD67VJ8oJnhJE6cA==n'
  u = decrypt('private_key', t)

然后,字符不会被转义。

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

这个堆栈溢出线程也值得一读:"u"和"r"字符串标志在Python中到底做了什么,什么是原始字符串文字?

希望这有帮助。

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

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

您可以通过执行print(repr(t))而不是print(t)来查看问题所在

最新更新