  
<?php

//O link do seu vídeo 
$simple_string = "/video/seu_video.mp4"; 
  
// como ele é originalmente 
echo "Vídeo que será encriptado: " . $simple_string."\n"; 

function encryptVideo($password, $content, $hash16bytes = 'afde1234f0a0x104') {
  
    //conteúdo a ser criptografado
    $simple_string = $content;
    // tipo do método de criptografia
    $ciphering = "AES-128-CTR"; 
  
    // Usando método de OpenSSl Encryption
    $iv_length = openssl_cipher_iv_length($ciphering); 
    $options = 0; 
  
    //Não pode ser nulo, crie um vetor de qualquer valor até 16 bytes
    $encryption_iv = $hash16bytes; 
  
    // Agora a senha que vai utilizar posteriormente 
    $encryption_key = $password; 
  
    // Use openssl_encrypt() function to encrypt the data 
    $encryption = openssl_encrypt($simple_string, $ciphering, 
            $encryption_key, $options, $encryption_iv); 
     return strrev($encryption.':'.$hash16bytes);         
            
}
  
$saida = encryptVideo('bomdiasenha123', $simple_string);
  
// Display the encrypted string 
echo "Saída encriptada: " . $saida . "\n"; 

function decryptVideo($password, $hash) {  
    //separa o vetor da chave encriptada
	list($encryption, $decryption_iv) = explode(':', strrev($hash));
   // E a senha para abrir o endereço para ser assistido
    $decryption_key = $password; 

    $ciphering = "AES-128-CTR"; 
  
    // Usando método de OpenSSl Encryption
    $iv_length = openssl_cipher_iv_length($ciphering); 
    $options = 0; 
  
   // Use openssl_decrypt() function to decrypt the data 
   $decryption=openssl_decrypt ($encryption, $ciphering,  
        $decryption_key, $options, $decryption_iv); 
   return  $decryption;
}        

 $decryption = decryptVideo('bomdiasenha123', $saida);
// Aqui seria após informar o vetor e a senha 
echo "Saída do vídeo decriptada: " . $decryption; 
