Один мой знакомый написал функцию, которая выполняет операцию аналогичную аксаптовской bildPassword.
Очень пригодилась для коннекта с терминалов с аксаптовским логином и паролем.
	PHP код:
	
		
			
function Str2Int(_Str : String) : Integer;
var
  tmpCode : Int64;
  tmpChar : Integer;
  i       : Integer;
begin
  _Str := AnsiLowerCase(_Str);
  tmpCode := $015A4E35;
  i := 1;
  While i <= Length(_Str) Do
  Begin
    tmpChar := Ord(_Str[i]) and $0FF;
    tmpCode := tmpCode and $FFFFFFFF;
    tmpCode := ((tmpCode shl 13) and $0FFFFE000) +
               ((tmpCode shr 19) and $000001FFF);
    tmpCode := tmpCode xor ((tmpChar shl 5) and $01FE0);
    tmpCode := (tmpCode xor tmpChar) + 3;
    Inc(i);
  End;
  Result := tmpCode and $FFFFFFFF;
end;
function Int2Code(intCode : Integer) : String;
var
  tmpCode : Int64;
  tmpByte : Shortint;
  Code    : String;
  i       : Integer;
begin
  tmpCode := intCode and $FFFFFFFF;
  i := 0;
  While i < 7 Do
  Begin
    tmpByte := tmpCode mod $24;
    If tmpByte < 10 Then
      Code := Chr(Ord('0') + tmpByte) + Code
    Else
      Code := Chr(Ord('A') + tmpByte - 10) + Code;
    tmpCode := (tmpCode * $38E38E39) shr 3;
    tmpCode := (tmpCode and $FFFFFFFF00000000) shr 32;
    Inc(i);
  End;
  Result := Code;
end;
function CryptUserPass(Password : PChar; User : PChar) : PChar; stdcall;
var
  Code     : String;
  tmpCode  : Integer;
  tmpConst : Integer;
begin
  tmpConst := $A59C29F1;
  tmpCode  := Str2Int(String(User) + String(Password)) xor tmpConst;
  Code := Int2Code(tmpCode);
  tmpConst := ($928379A1 + tmpCode) and $FFFFFFFF;
  tmpCode := Str2Int(String(Password)) xor tmpConst;
  Code := Code + Int2Code(tmpCode);
  Result := PChar(Code);
end;