Ekwiwalent Java szyfrowania C ++ [duplikat]
To pytanie ma już tutaj odpowiedź:
Jak odszyfrować plik w Javie zaszyfrowany poleceniem openssl przy użyciu AES? 3 odpowiedziMam następujący fragment kodu c ++, który jest używany do szyfrowania:
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
co to jest odpowiednik szyfrowania c ++ w Javie?
Widzę, że jestdes
algorytm, a potem widzęsha1
.
Jest to związane z szyfrowaniem openssl. Ale nie wiem, co jest odpowiednikiem. zasadniczo chciałbym uzyskać ten sam wynik, co generuje kod c ++.
pytam, co jest odpowiednikiemEVP_CIPHER_CTX
lub jak nazywa się tutaj szyfr, więc mogę go stąd zabrać.
EDIT: nie pytając nikogo do konwersji kodu do java, po prostu pytając odpowiedni pakiet lub klasę, która zrobiłaby to samo.