You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

简易非安全密码加解密问题:编码后无法逆向解码求助

简易加密的正确逆向解码方法

先明确原加密流程的每一步:

  • 步骤1:将明文密码转为UTF-8字节流:"test" → b'test'
  • 步骤2:将字节流转为十六进制字符串:b'test' → "74657374"
  • 步骤3:将十六进制字符串转回UTF-8字节流:"74657374" → b'74657374'
  • 步骤4:对字节流做Base64编码:b'74657374' → b'NzQ2NTczNzQ='

你的解码代码存在两个核心问题:

  1. 输入的"b'NzQ2NTczNzQ='"是Python字节对象的字符串形式,不是纯Base64编码内容,需要先提取出真正的Base64字符串"NzQ2NTczNzQ="
  2. 逆向步骤完全搞反了,原加密的最后两步是「字符串转字节→Base64编码」,逆向应该先Base64解码,再转字符串,最后把十六进制字符串转回原字节流再转明文。

正确的逆向解码代码如下:

import base64

# 提取真正的Base64内容,去掉b''包裹
passwd = "NzQ2NTczNzQ="
# Base64解码,得到十六进制字符串的字节流
passwd = base64.b64decode(passwd)
# 将字节流转为十六进制字符串
passwd_str = passwd.decode("UTF-8")
# 将十六进制字符串转回原字节流
original_bytes = bytes.fromhex(passwd_str)
# 将字节流转为明文密码
original_passwd = original_bytes.decode("UTF-8")

print(original_passwd)  # 输出:test

如果输入必须保留"b'NzQ2NTczNzQ='"格式,可先处理字符串提取核心内容:

import base64

passwd = "b'NzQ2NTczNzQ='"
# 提取Base64部分
passwd = passwd.strip("b'")
passwd = base64.b64decode(passwd)
passwd_str = passwd.decode("UTF-8")
original_bytes = bytes.fromhex(passwd_str)
original_passwd = original_bytes.decode("UTF-8")

print(original_passwd)  # 输出:test

内容的提问来源于stack exchange,提问作者Juli

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 05:12:10