Java equivalente de encriptación C ++ [duplicado]

Esta pregunta ya tiene una respuesta aquí:

¿Cómo descifrar un archivo en Java encriptado con el comando openssl usando AES? 3 respuestas

Tengo este fragmento de código siguiente de c ++ que se utiliza para el cifrado:

EVP_CIPHER_CTX ctx;
const EVP_CIPHER * cipher = EVP_des_ede3_cbc();
unsigned char iv[EVP_MAX_IV_LENGTH];
unsigned char key[EVP_MAX_KEY_LENGTH];
String seed;

_config->get_value("crypto_seed", &seed); // uses the seed value from pimp config.

if (seed.is_empty())
{
    return false;
}

EVP_BytesToKey(cipher, EVP_sha1(),
        (unsigned char *) 0, // no salt
        reinterpret_cast<unsigned char *>(const_cast<char *>(seed.chars())), seed.length(),
        1, // hash passphrase just once.
        key, iv);

EVP_CIPHER_CTX_init(&ctx);
EVP_CipherInit_ex(&ctx, cipher, (ENGINE *) 0, key,
        iv,
        1); // encrypt

¿Cuál es el equivalente del cifrado c ++ en java?

Veo que haydes&nbsp;algoritmo, entonces veosha1.

Esto está relacionado con el cifrado de openssl. Pero no estoy seguro de cuál es el equivalente. Básicamente me gustaría la misma salida que genera el código c ++.

Estoy preguntando cuál es el equivalente deEVP_CIPHER_CTX&nbsp;o ¿cuál es el nombre de la encriptación que se utiliza aquí para que pueda tomarla desde allí?

EDITAR: no pedirle a nadie que convierta el código a java, solo le pide al paquete o clase correspondiente que haga lo mismo.