<?php
//
$sCriptografado = TCript_Sis_Encriptar('SEUS DADOS VAI AQUI');
ECHO $sCriptografado.'<br>';
ECHO TCript_Sis_Descriptar( $sCriptografado );
EXIT;
//
// ----------------------------------------------------------
//  Biblioteca para criptografia (AES 256 bits) padronizada
// ----------------------------------------------------------
//
function TCript_Sis_Dados_Estaticos() {
  $aRetorno =
    [ 'CHAVE_SIMSOFT' => '(- SIMSOFT TECNOLOGIA -) :: (-SOFTWARE-) :: [ 2020 ]',
      'IV'            => '1234567890123456'
    ];
  return $aRetorno;
}
//
function TCript_Sis_Encriptar( $sDados ) {
  $aDados_Estaticos = TCript_Sis_Dados_Estaticos();
  $sKey_S256 = hash( 'SHA256', $aDados_Estaticos['CHAVE_SIMSOFT'], true );
  $sHash_Txt = hash( 'MD5', $sDados, false );
  $nTamanhoReal = strlen($sDados)+0;
  $sDados_Cript = TCript_Sis_LPadding( $nTamanhoReal, 3, '0' ).'|'.$sDados.'|MD5|'.$sHash_Txt;
  $sDados_Cript = openssl_encrypt( $sDados_Cript, "AES-256-CBC", $sKey_S256, 0, $aDados_Estaticos['IV'] );
  //
  return $sDados_Cript;
  //
}
//
function TCript_Sis_Descriptar( $sDados ) {
  $aDados_Estaticos = TCript_Sis_Dados_Estaticos();
  $sKey_S256 = hash( 'SHA256', $aDados_Estaticos['CHAVE_SIMSOFT'], true );
  $sDados_Cript = openssl_decrypt( $sDados, "AES-256-CBC", $sKey_S256, 0, $aDados_Estaticos['IV'] );
  $nTamanhoReal = substr( $sDados_Cript, 0, 3 )+0;
  $sDados_Texto = substr( $sDados_Cript, 4, $nTamanhoReal );
  //
  return $sDados_Texto;
  //
}
//
Function TCript_Sis_LPadding( $sField, $nTamanho, $sChar_Repeat='0') {
  $sRetorno = $sField;
  If (STRLEN($sRetorno)<$nTamanho) {
     $sRetorno = STR_REPEAT($sChar_Repeat,$nTamanho-STRLEN($sRetorno)).$sRetorno;
  }
  Return $sRetorno;
}
//
//
?>