关于国密SM2解密.key文件拿到对应的SM4秘钥问题

1、A0001.key为SM2的私钥,
2、target.key 为待解密(SM2模式)的密文
3、目前我使用两种语言(Java、Python)
4、整个过程是使用数字信封的方式,先使用 SM2 去解密 SM4 加密后的密文,得到明文(SM4的秘钥), 再使用这个秘钥去解密 SM4 加密的 zip 包
5、问题在于文件名很长的这个 .key 文件解密出来总感觉不对(乱码、或者我转成了十六进制后, 再拿去解 zip 就不成功)
Java 代码

pom.xml

<dependency>
    <groupId>cn.hutool</groupId>
    <artifactId>hutool-all</artifactId>
    <version>5.7.18</version>
</dependency>
<dependency>
    <groupId>org.bouncycastle</groupId>
    <artifactId>bcprov-jdk15to18</artifactId>
    <version>1.67</version>
</dependency>

Test.java

import cn.hutool.core.io.FileUtil;
import cn.hutool.crypto.asymmetric.KeyType;
import cn.hutool.crypto.asymmetric.SM2;

// 直接在 A0001.key 中复制的
String privateKey = "2880970b3cc16d09b7eedbf7b5f4af9e5e18c2f3a9ed488ec5a1b08f75d1899f";
// 需要用 SM2 解密的 .key 文件
String filePath = "D:\\target.key";
        
SM2 sm2 = new SM2(privateKey, null);
byte[] decrypt = sm2.decrypt(FileUtil.readBytes(filePath), KeyType.PrivateKey);

FileUtil.writeBytes(decrypt, "D:\\res.key");
Python 代码
from gmssl import sm2

# 直接在 A0001.key 中复制的
A0001_key = "2880970b3cc16d09b7eedbf7b5f4af9e5e18c2f3a9ed488ec5a1b08f75d1899f"
source_path = "D:\\target.key"
target_key = "D:\\res.key"

with open(source_path , 'rb') as f, open(target_key , 'wb') as w:
    sm2_crypt = sm2.CryptSM2(public_key=None, private_key=private_key)
    info = sm2_crypt.decrypt(f.read())
    w.write(info)
还请各位帮忙看看,我以上的方式是否有误, 麻烦讲解下编码思路;然后我再将结果去解密 SM4 进行下一步。感谢各位了

链接:https://pan.baidu.com/s/1ajwXQxaSMYFfUvymvnt0sg
提取码:lx8b