Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function _tr_pnum($s)
- {
- /* sum the ascii values of each char */
- $ret = 0;
- for ( $i = 0; $i < strlen($s); $i++ )
- {
- $ret += ord($s[$i]) + $i;
- }
- /* bit shift ret 1 position to the left until ret exceeds PW_MIN_NUM */
- while ($ret < PW_MIN_NUM)
- {
- $ret = $ret << 1;
- }
- return $ret;
- }
- function _tr_crypt ( $instr, $pwstr, $len)
- {
- $passnum = (int) ((((_tr_pnum($pwstr)/997) - 1) % 254 ) + 1);
- $pwlen = strlen($pwstr);
- for ( $i = $j = 0; $i < $len; $i++ ) /* process whole string */
- {
- $passnum = (int) ((($passnum + ( $i - $len )) - 1 ) % 254) + 1;
- $buff[0] = (ord($instr[$i]) ^ ($passnum ^ ord($pwstr[$j])) ); /* XOR 3 var's */
- $saida[$i] = ($buff[0] ? chr($buff[0]) : $instr[$i]); /* if NULL return char*/
- $j = ( $j = $pwlen ? 0 : $j + 1 ); /* password que control variable */
- }
- $saida = implode("",$saida);
- return $saida; /* send back encrypted string */
- }
- function encrypt($string,$pass)
- {
- $strlen = strlen($string);
- return _tr_crypt($string, $pass, $strlen);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement