Des 解密备忘
des 默认 key
实际遇到过的:
__Jdlog_
Python 解密脚本示例:
from pyDes import des, ECB, PAD_PKCS5
# 设置密钥
key = b"__jDlog_"
# 创建 DES 对象
des_obj = des(key, ECB, pad=None, padmode=PAD_PKCS5)
# 要解密的密文
encrypted_text = bytes.fromhex("4B429557C13FE3C9FB431849614FD13E")
# 解密
decrypted_text = des_obj.decrypt(encrypted_text)
print(decrypted_text.decode("utf-8")) # 输出解密后的内容
优化之后,批量解密的脚本
import re
from pyDes import des, ECB, PAD_PKCS5
def decrypt_string(encrypted_hex, des_obj):
try:
encrypted_bytes = bytes.fromhex(encrypted_hex)
decrypted_text = des_obj.decrypt(encrypted_bytes)
return decrypted_text.decode("utf-8")
except Exception as e:
return f"解密失败: {e}"
def process_file(input_file, output_file):
# 设置密钥
key = b"__jDlog_"
# 创建 DES 对象
des_obj = des(key, ECB, pad=None, padmode=PAD_PKCS5)
# 读取输入文件
with open(input_file, 'r', encoding='utf-8') as f:
content = f.read()
# 使用正则表达式找出所有16进制字符串
# 匹配规则可以根据实际情况调整
hex_pattern = r'[0-9A-F]{16,}'
encrypted_strings = re.finditer(hex_pattern, content, re.IGNORECASE)
# 解密并替换
decrypted_content = content
for match in encrypted_strings:
encrypted_hex = match.group()
decrypted_text = decrypt_string(encrypted_hex, des_obj)
decrypted_content = decrypted_content.replace(encrypted_hex, f"{encrypted_hex} -> {decrypted_text}")
# 写入输出文件
with open(output_file, 'w', encoding='utf-8') as f:
f.write(decrypted_content)
if __name__ == "__main__":
input_file = "encrypted.txt" # 输入文件名
output_file = "decrypted.txt" # 输出文件名
try:
process_file(input_file, output_file)
print(f"解密完成!结果已保存到 {output_file}")
except Exception as e:
print(f"处理失败: {e}")
蓝凌 OA Des
蓝凌后台管理员密码的 des 的默认 key:
kmssAdminKey
加密模式:
- 加密模式为
ECB、填充为pkcs7padding、输出为base64 - 加密模式为
ECB、填充为zeropadding、输出为base64
在线解密网站:
http://tool.chacuo.net/cryptdes
泛微 Ecology OA
keyString 是 1z2x3c4v5b6n