$enc_text = $rsa_obj->encrypt($text, $public_key1); $private_key = Crypt_RSA_Key::fromString($private_key_str, MATH_LIBRARY, 'check_error'); $text1 = $rsa_obj->decrypt($enc_text, $private_key); if ($text != $text1) { $errors[] = "error in Crypt_RSA_Key class methods"; } /////////////////////////////////////////////// // test all functionality of Crypt_RSA class /////////////////////////////////////////////// // create Crypt_RSA object $rsa_obj = new Crypt_RSA(array(), MATH_LIBRARY, 'check_error'); // create Crypt_RSA_KeyPair object $key_pair = new Crypt_RSA_KeyPair(256, MATH_LIBRARY, 'check_error'); // check encrypting/decrypting function's behaviour $params = array('enc_key' => $key_pair->getPublicKey(), 'dec_key' => $key_pair->getPrivateKey()); $rsa_obj->setParams($params); $text = '1234567890'; $enc_text = $rsa_obj->encrypt($text); $text1 = $rsa_obj->decrypt($enc_text); if ($text != $text1) { $errors[] = "error in encrypting/decrypting functions"; } // check signing/sign validating $params = array('public_key' => $key_pair->getPublicKey(), 'private_key' => $key_pair->getPrivateKey()); $rsa_obj->setParams($params); $text = '1234567890'; $sign = $rsa_obj->createSign($text); if (!$rsa_obj->validateSign($text, $sign)) { $errors[] = "error in signing/sign validating functions with default hash function"; } // check signing/sign validating with specific hash function