我有一个肥皂网络服务,该服务需要使用RSA算法进行密码加密。但是,我已被告知如何执行此操作的步骤,但是我不确定该怎么做。
步骤
使用具有以下参数的公共密钥对密钥进行加密
指数113621440243785421499955306133900099987164309503876199371900 61108597569919490562171044287644188919530245192244355535426664573745这不是一个真正的价值而只是一个指南)
模量9965644084057417656330538552189694824948559788786878830575584 44367368137357168893841560814041088567854117014580575728077016098213(这不是真实值,只是一个指南)
执行密码的base64编码
我所做的是阅读RSA算法并在线遇到了一些工作示例,但是当我实现这些示例时,我不断收到相同的错误消息,即“无法解密密码”
$client = Yii::$app->soapApi; //the soapApi component was declared inside the main.php file
$password = 'abc12345';
$password = hash("sha256", $password);
$r = gmp_init($password, 16);
$result = gmp_strval($r);
$exponent= 'value was specified here';
$modulus= 'value was specified here';
$crypt_rsa = new \Crypt_RSA();
$crypt_rsa->loadKey(
array(
'e' => new \Math_BigInteger($exponent),
'n' => new \Math_BigInteger($modulus)
)
);
$encryptedPassword = base64_encode($crypt_rsa->encrypt($result));
$parameters = [
'username' =>'username',
'password' => $encryptedPassword,
'orgid' => 'value'
];
var_dump($client->createTokenString($parameters));die;
我希望结果返回带有生成令牌的元素,但是我无法解密密码