В настоящее время у меня есть кодовая база, которая использует openssl_public_encrypt/openssl_private_decrypt
, Теперь я хотел бы проверить свои методы шифрования и дешифрования с помощью модульного теста, поскольку они очень важны.
Чтобы действительно проверить их, я думаю, что я хотел бы просто высмеять закрытый и открытый ключи. Является ли это жизнеспособным, и как бы я пошутил над этими ключами, не помещая конфиденциальную информацию в мою кодовую базу?
Конечно, я мог бы обойти открытую / закрытую часть openssl и посмеяться над результатом этого, но эта логика также вызывает некоторые исключения и т. Д., Которые я хотел бы проверить.
Если у вас установлено и включено расширение OpenSSL в PHP, вы можете сгенерировать пару открытых / закрытых ключей с помощью функций OpenSSL:
openssl_pkey_new, для закрытый ключ с:
$private_key = openssl_pkey_new([
'digest_alg' => 'sha256',
'private_key_bits' => 1024,
'private_key_type' => OPENSSL_KEYTYPE_RSA
]);
Затем передайте закрытый ключ openssl_pkey_get_details получить подробную информацию о ключе, включая открытый ключ:
$details = openssl_pkey_get_details($private_key);
$public_key = $details['key'];
Других решений пока нет …