Я пытаюсь выполнить ту же операцию шифрования в Java (используя Bouncy Castle) и Node.js, однако я не могу знать, какой именно алгоритм использовать с Node JavaScript (крипто-библиотекой JavaScript), чтобы получитьтот же результат.
Ниже приведены мои попытки реализации?
Java Code
ByteArrayOutputStream bOut = new ByteArrayOutputStream();
PGPCompressedDataGenerator comData = new PGPCompressedDataGenerator(
PGPCompressedDataGenerator.ZIP);
OutputStream cos = comData.open(bOut); // open it with the final
// destination
PGPLiteralDataGenerator lData = new PGPLiteralDataGenerator();
// we want to generate compressed data. This might be a user option
// later,
// in which case we would pass in bOut.
OutputStream pOut = lData.open(cos, // the compressed output stream
PGPLiteralData.BINARY, fileName, // "filename" to store
clearData.length, // length of clear data
new Date() // current time
);
pOut.write(clearData);
lData.close();
comData.close();
Provider provider = new BouncyCastleProvider();
PGPEncryptedDataGenerator cPk = new PGPEncryptedDataGenerator(
new JcePGPDataEncryptorBuilder( PGPEncryptedData.CAST5)
.setWithIntegrityPacket( withIntegrityCheck )
.setSecureRandom(new SecureRandom() )
.setProvider(provider) );
cPk.addMethod( new JcePublicKeyKeyEncryptionMethodGenerator( encKey ).setProvider( provider ) );
byte[] bytes = bOut.toByteArray();
OutputStream cOut = cPk.open(out, bytes.length);
cOut.write(bytes); // obtain the actual bytes from the compressed stream
cOut.close();
out.close();
Я не могу знать, какой именно алгоритмиспользуйте из следующего списка, чтобы получить тот же результат, поэтому, какой из алгоритмов я могу использовать для получения того же результата, пожалуйста: cast-cbc, cast5-cbc, cast5-cfb, cast5-ecb, cast5-ofb.