PHP Encryption

PHP Encryption

PHP still runs a huge slice of the web—WordPress, Laravel, Symfony, and piles of shared-hosting sites. Files are plain text on disk unless you opcode-cache or bundle; anyone with FTP or a backup sees your source. That honesty is fine until a credential sits next to a database query.

Encrypting licence keys, private API tokens, or internal callback URLs before you paste them into config.php keeps shoulder-surfing and lazy scans quieter. StringEncrypt outputs PHP that decrypts when the request runs, matching the Unicode or single-byte style you choose below.

String encryption supports both UNICODE and ANSI strings.

Official resources:

PHP Encryption (UNICODE Example)

Plaintext reference: StringEncrypt sample

// encrypted with https://www.stringencrypt.com (v1.5.0) [PHP]
// <?php // TODO: remove opening tag if embedding in existing file
// myString = "StringEncrypt sample"
$myString = [ 0x143E, 0x0457, 0x17E2, 0xF0FD, 0xD537, 0x7B91, 0x91C9, 0xCC5D,
              0x2001, 0x5066, 0x4D04, 0xAC08, 0x1917, 0x92E9, 0xF12C, 0xF3C3,
              0x8B3E, 0x6407, 0x1D95, 0xAC7D ];

$OQvdj = 0;
for ($deuay = 0; $deuay < 20; $deuay++)
{
  $OQvdj = $myString[$deuay];
  $OQvdj = (($OQvdj & 0xFFFF) + 1) & 0xFFFF;
  $OQvdj = ($OQvdj ^ 0xA75D) & 0xFFFF;
  $OQvdj = ((($OQvdj & 0xFFFF) << ($deuay % 16)) | (($OQvdj & 0xFFFF) >> (16 - ($deuay % 16)))) & 0xFFFF;
  $OQvdj = (($OQvdj & 0xFFFF) + 0x4D13) & 0xFFFF;
  for ($NXabM = 0; $NXabM < 4; $NXabM++)
  {
    for ($nFKvZ = 0; $nFKvZ < 2; $nFKvZ++)
    {
      $OQvdj = (($OQvdj & 0xFFFF) - 0xA4DA) & 0xFFFF;
    }
    $OQvdj = (($OQvdj & 0xFFFF) + $deuay) & 0xFFFF;
  }
  $OQvdj = ($OQvdj ^ ((($OQvdj & 0xFFFF) << 9) & 0xFFFF)) & 0xFFFF;
  $OQvdj = ((($OQvdj & 0xFFFF) << ($deuay % 16)) | (($OQvdj & 0xFFFF) >> (16 - ($deuay % 16)))) & 0xFFFF;
  $OQvdj = (($OQvdj & 0xFFFF) - 0x8945) & 0xFFFF;
  $OQvdj = ((($OQvdj & 0xFFFF) >> 5) | (($OQvdj & 0xFFFF) << 11)) & 0xFFFF;
  $OQvdj = (($OQvdj & 0xFFFF) - $deuay) & 0xFFFF;
  $OQvdj = ((($OQvdj & 0xFFFF) << ($deuay % 16)) | (($OQvdj & 0xFFFF) >> (16 - ($deuay % 16)))) & 0xFFFF;
  for ($bHWrI = 0; $bHWrI < 2; $bHWrI++)
  {
    $OQvdj = ($OQvdj ^ $deuay) & 0xFFFF;
  }
  $myString[$deuay] = $OQvdj;
}

$myString = implode('', array_map(function ($c) { return mb_chr($c & 0xFFFF, 'UTF-8'); }, $myString));


PHP Encryption (ANSI Example)

Plaintext reference: StringEncrypt sample

// encrypted with https://www.stringencrypt.com (v1.5.0) [PHP]
// Encoding: Windows-1250 or match your source file
// <?php // TODO: remove opening tag if embedding in existing file
// myString = "StringEncrypt sample"
$myString = [ 0x9F, 0xE3, 0xE2, 0x68, 0xBE, 0xEB, 0xC0, 0x92,
              0x5D, 0x48, 0x88, 0x16, 0x30, 0x43, 0xF3, 0xF1,
              0x98, 0xB3, 0xFF, 0xA9 ];

$mVejE = 0;
for ($PtRfX = 0; $PtRfX < 20; $PtRfX++)
{
  $mVejE = $myString[$PtRfX];
  $mVejE = ((($mVejE & 0xFF) << 2) | (($mVejE & 0xFF) >> 6)) & 0xFF;
  for ($hFkue = 0; $hFkue < 2; $hFkue++)
  {
    $mVejE = (($mVejE & 0xFF) - 1) & 0xFF;
    $mVejE = (($mVejE & 0xFF) - $PtRfX) & 0xFF;
    $mVejE = ($mVejE ^ $PtRfX) & 0xFF;
  }
  for ($AidST = 0; $AidST < 2; $AidST++)
  {
    $mVejE = ((($mVejE & 0xFF) >> 1) | (($mVejE & 0xFF) << 7)) & 0xFF;
    $mVejE = ($mVejE ^ 0x4A) & 0xFF;
  }
  $mVejE = ($mVejE ^ (($mVejE & 0xFF) >> 4)) & 0xFF;
  $mVejE = ((($mVejE & 0xFF) >> ($PtRfX % 8)) | (($mVejE & 0xFF) << (8 - ($PtRfX % 8)))) & 0xFF;
  $mVejE = (($mVejE & 0xFF) + $PtRfX) & 0xFF;
  $mVejE = (($mVejE & 0xFF) - 1) & 0xFF;
  $mVejE = ($mVejE ^ ((($mVejE & 0xFF) << 5) & 0xFF)) & 0xFF;
  for ($uFfqX = 0; $uFfqX < 4; $uFfqX++)
  {
    $mVejE = ((($mVejE & 0xFF) >> 6) | (($mVejE & 0xFF) << 2)) & 0xFF;
  }
  $mVejE = ($mVejE ^ ((($mVejE & 0xFF) << 6) & 0xFF)) & 0xFF;
  for ($VopQg = 0; $VopQg < 4; $VopQg++)
  {
    $mVejE = ((($mVejE & 0xFF) >> 4) | (($mVejE & 0xFF) << 4)) & 0xFF;
  }
  $mVejE = (($mVejE & 0xFF) + $PtRfX) & 0xFF;
  for ($mgnzY = 0; $mgnzY < 3; $mgnzY++)
  {
    for ($Wbzop = 0; $Wbzop < 3; $Wbzop++)
    {
      $mVejE = ((($mVejE & 0xFF) >> 3) | (($mVejE & 0xFF) << 5)) & 0xFF;
    }
    $mVejE = (($mVejE & 0xFF) + 0x20) & 0xFF;
  }
  for ($lkBgw = 0; $lkBgw < 3; $lkBgw++)
  {
    $mVejE = ((($mVejE & 0xFF) >> 4) | (($mVejE & 0xFF) << 4)) & 0xFF;
    $mVejE = ($mVejE ^ 0x94) & 0xFF;
    $mVejE = (($mVejE & 0xFF) - 0xBF) & 0xFF;
  }
  $mVejE = (($mVejE & 0xFF) + 0x74) & 0xFF;
  $myString[$PtRfX] = $mVejE;
}

$myString = implode('', array_map(function ($c) { return chr($c & 0xFF); }, $myString));