跳转到内容
Go back

Des 解密备忘

更新于:

Des 解密备忘

des 默认 key

实际遇到过的:

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

加密模式:

在线解密网站:

http://tool.chacuo.net/cryptdes

泛微 Ecology OA

keyString 是 1z2x3c4v5b6n

参考连接


分享文章至:

Previous Post
Atlassian Jira 数据库密码重置
Next Post
FFmpeg 合并 2000 个 MP3 文件