Jose\Util\RSA::encryptRSAESOAEP PHP Method

encryptRSAESOAEP() private static method

RSAES-OAEP-ENCRYPT.
private static encryptRSAESOAEP ( RSAKey $key, string $m, Hash $hash ) : string
$key Jose\KeyConverter\RSAKey
$m string
$hash Hash
return string
    private static function encryptRSAESOAEP(RSAKey $key, $m, Hash $hash)
    {
        $mLen = mb_strlen($m, '8bit');
        $lHash = $hash->hash('');
        $ps = str_repeat(chr(0), $key->getModulusLength() - $mLen - 2 * $hash->getLength() - 2);
        $db = $lHash . $ps . chr(1) . $m;
        $seed = random_bytes($hash->getLength());
        $dbMask = self::getMGF1($seed, $key->getModulusLength() - $hash->getLength() - 1, $hash);
        $maskedDB = $db ^ $dbMask;
        $seedMask = self::getMGF1($maskedDB, $hash->getLength(), $hash);
        $maskedSeed = $seed ^ $seedMask;
        $em = chr(0) . $maskedSeed . $maskedDB;
        $m = self::convertOctetStringToInteger($em);
        $c = self::getRSAEP($key, $m);
        $c = self::convertIntegerToOctetString($c, $key->getModulusLength());
        return $c;
    }