Javascript 如何在python中为Diffie-Hellman算法提供自定义私钥?

Javascript 如何在python中为Diffie-Hellman算法提供自定义私钥?,javascript,python,encryption,Javascript,Python,Encryption,我正在尝试解密用python中AES算法的JavaScript实现加密的数据 这是在JS端生成AES密钥的函数: const getAESKey = ( appletPrivateKey, userPublicKey, appletPrime, base ) => { const key = crypto.createDiffieHellman(Buffer.from(appletPrime), Buffer.from(base)); key.setPrivateKey(B

我正在尝试解密用python中AES算法的JavaScript实现加密的数据

这是在JS端生成AES密钥的函数:

const getAESKey = ( appletPrivateKey, userPublicKey, appletPrime, base ) => {
    const key = crypto.createDiffieHellman(Buffer.from(appletPrime), Buffer.from(base));
    key.setPrivateKey(Buffer.from(appletPrivateKey));
    const secretKey = key.computeSecret(Buffer.from(userPublicKey));
    return crypto.createHash('sha256').update(secretKey).digest();
}
他们使用DiffieHellman算法生成AES密钥,并使用DH的
setPrivateKey
函数将私钥设置为自定义值

我想以同样的方式生成AES密钥。我有小程序私钥值,我想提供给DH算法以生成密钥。但是DiffieHellman的实现不允许我将私钥设置为任意值。看来我只能生成它。我环顾四周,DH的其他python实现似乎也是如此

有没有办法为python中的DH算法提供自定义私钥?

加密库允许导入以PKCS8格式(PEM或DER)编码的DH私钥,例如。然而,NodeJS似乎不支持DH密钥的这种格式,只支持原始密钥(x),例如。因此,您可能必须找到一种方法,以某种方式在这些格式之间进行转换。