public static function encrypt($plaintext, $key)
 {
     // Set up encryption parameters.
     $plaintext_utf8 = utf8_encode($plaintext);
     $inputData = cryptoHelpers::convertStringToByteArray($plaintext);
     $keyAsNumbers = cryptoHelpers::toNumbers(bin2hex($key));
     $keyLength = count($keyAsNumbers);
     $iv = cryptoHelpers::generateSharedKey(16);
     $encrypted = AES::encrypt($inputData, AES::modeOfOperation_CBC, $keyAsNumbers, $keyLength, $iv);
     // Set up output format (space delimeted "plaintextsize iv cipher")
     $retVal = $encrypted['originalsize'] . " " . cryptoHelpers::toHex($iv) . " " . cryptoHelpers::toHex($encrypted['cipher']);
     return $retVal;
 }
Exemplo n.º 2
0
function wplc_encrypt_msg($plaintext)
{
    $wplc_pro_settings = get_option("WPLC_PRO_SETTINGS");
    if (isset($wplc_pro_settings['wplc_enable_encryption']) && $wplc_pro_settings['wplc_enable_encryption'] == 1) {
        $api_key = get_option('wplc_api_key');
        if ($api_key != '') {
            $api_key = substr($api_key, 0, 10);
            $plaintext_utf8 = utf8_encode($plaintext);
            $inputData = cryptoHelpers::convertStringToByteArray($plaintext);
            $keyAsNumbers = cryptoHelpers::toNumbers(bin2hex($api_key));
            $keyLength = count($keyAsNumbers);
            $iv = cryptoHelpers::generateSharedKey(16);
            $encrypted = AES::encrypt($inputData, AES::modeOfOperation_CBC, $keyAsNumbers, $keyLength, $iv);
            $retVal = $encrypted['originalsize'] . " " . cryptoHelpers::toHex($iv) . " " . cryptoHelpers::toHex($encrypted['cipher']);
            $message = array('e' => 1, 'm' => $retVal);
            return maybe_serialize($message);
        } else {
            $message = array('e' => 0, 'm' => $plaintext);
            return maybe_serialize($message);
        }
    } else {
        $message = array('e' => 0, 'm' => $plaintext);
        return maybe_serialize($message);
    }
}