Метод гаммирования на PHP

Гамми́рование, или Шифр XOR, — метод симметричного шифрования, заключающийся в «наложении» последовательности, состоящей из случайных чисел, на открытый текст. Последовательность случайных чисел называется гамма-последовательностью и используется для зашифровывания и расшифровывания данных.

function gamma_encryption($str, $passw = '') {
   $salt = 'jEJerBV3xg';
   $len = strlen($str);
   $gamma = '';
   $n = $len > 100 ? 8 : 2;
   while (strlen($gamma) < $len) {
      $gamma .= substr(pack('H*', sha1($passw . $gamma . $salt)), 0, $n);
   }
   return $str ^ $gamma;
}

Добавить комментарий

Ваш адрес email не будет опубликован.