• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/classes/general/crypt.php
  • Класс: CCryptblowfish
  • Вызов: CCryptblowfish::__F
function __F($x)
{
	// Divide xL into four eight-bit quarters: a, b, c, and d
	// F(xL) = ((S1[a] + S2[b] mod 232) XOR S3[c]) + S4[d] mod 232

	$d = $x & 0xff;
	$x = $x >> 8;
	$c = $x & 0xff;
	$x = $x >> 8;
	$b = $x & 0xff;
	$x = $x >> 8;
	$a = $x & 0xff;

	$y = $this->arSubkeys["S"][0][$a] + $this->arSubkeys["S"][1][$b];
	$y = ($y ^ $this->arSubkeys["S"][2][$c]) + $this->arSubkeys["S"][3][$d]; 

	return $y;
}