解密 python base68 编码哈希时出现问题
Problems decrypting python base68 encoded hash
投反对票 = 没意识到这个问题是有效的 ;)
这行不通:
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)
它给了我正确的数据。
我假设 '\'
破坏了一切,但我不知道如何修复它。
使用raw strings
:
t = r'iirFKe2rjTG96AUlUcQvDnGOZd2+W3faKUxTX9q6ttieOOZCXS068foIU4OsYorxMJF+vbT1bJf8\nOmDjOt872BOe3joDxgyW1klb7yMhSX0P/2C0yKQnOzVrmdQLLnJj6pB88/OqIUjYhGQdn2bpY0og\nZhRU5otxccubTo/CkNeykM0GLfKTUE+9VeywnZFYAmflnCcULOxnlAQNgmVKRPu6eSdfhiOR4LpJ\naRmxrUI6aA3VKwo59EjWhrJ/V3uLoVaETDtUG73wV1hJNG5g4nCYpt6CZxulWFt0nxH5dCta507I\nUYLEDEf2rCIHIKusY+ifJxWD67VJ8oJnhJE6cA==\n'
u = decrypt('private_key', t)
字符不会被转义。
通过原始字符串:我的意思是将字母 r
或 R
放在字符串之前。
这个堆栈溢出线程也值得一读:What exactly do "u" and "r" string flags do in Python, and what are raw string literals?
希望对您有所帮助。
幸运的是我找到了答案:)
t = 'string from question here'.decode('string_escape')
您可以通过执行 print(repr(t))
而不是 print(t)
来发现问题所在
投反对票 = 没意识到这个问题是有效的 ;)
这行不通:
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)
它给了我正确的数据。
我假设 '\'
破坏了一切,但我不知道如何修复它。
使用raw strings
:
t = r'iirFKe2rjTG96AUlUcQvDnGOZd2+W3faKUxTX9q6ttieOOZCXS068foIU4OsYorxMJF+vbT1bJf8\nOmDjOt872BOe3joDxgyW1klb7yMhSX0P/2C0yKQnOzVrmdQLLnJj6pB88/OqIUjYhGQdn2bpY0og\nZhRU5otxccubTo/CkNeykM0GLfKTUE+9VeywnZFYAmflnCcULOxnlAQNgmVKRPu6eSdfhiOR4LpJ\naRmxrUI6aA3VKwo59EjWhrJ/V3uLoVaETDtUG73wV1hJNG5g4nCYpt6CZxulWFt0nxH5dCta507I\nUYLEDEf2rCIHIKusY+ifJxWD67VJ8oJnhJE6cA==\n'
u = decrypt('private_key', t)
字符不会被转义。
通过原始字符串:我的意思是将字母 r
或 R
放在字符串之前。
这个堆栈溢出线程也值得一读:What exactly do "u" and "r" string flags do in Python, and what are raw string literals?
希望对您有所帮助。
幸运的是我找到了答案:)
t = 'string from question here'.decode('string_escape')
您可以通过执行 print(repr(t))
而不是 print(t)