/ Published in: PHP
I had the hardest time finding a reliable way to encode/decode the password temporarily for an integration. So here it is.
Expand |
Embed | Plain Text
Copy this code and paste it in your HTML
var $scramble1; var $scramble2; var $errors; var $adj; var $mod; $this->scramble1 = '! #$%&()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~'; $this->scramble2 = 'f^jAE]okIOzU[2&q1{3`h5w_794p@6s8?BgP>dFV=m D<TcS%Ze|r:lGK/uCy.Jx)HiQ!#$~(;Lt-R}Ma,NvW+Ynb*0X'; } $this->adj = 1.75; $this->mod = 3; } function decrypt ($key, $source){ $fudgefactor = $this->_convertKey($key); if ($this->errors) return; $this->errors[] = 'No value has been supplied for decryption'; return; } $target = null; $factor2 = 0; } else { } if ($num2 === false) { $this->errors[] = "Source string contains an invalid character ($char2)"; return; } $adj = $this->_applyFudgeFactor($fudgefactor); $factor1 = $factor2 + $adj; // accumulate in $factor1 $num1 = $this->_checkRange($num1); // check range $factor2 = $factor1 + $num2; // accumulate in $factor2 } else { } $target .= $char1; //echo "char1=$char1, num1=$num1, adj= $adj, factor1= $factor1, num2=$num2, char2=$char2, factor2= $factor2<br />\n"; } } function encrypt ($key, $source, $sourcelen = 0){ $fudgefactor = $this->_convertKey($key); if ($this->errors) return; $this->errors[] = 'No value has been supplied for encryption'; return; } $target = null; $factor2 = 0; } else { } if ($num1 === false) { $this->errors[] = "Source string contains an invalid character ($char1)"; return; } $adj = $this->_applyFudgeFactor($fudgefactor); $factor1 = $factor2 + $adj; // accumulate in $factor1 $num2 = $this->_checkRange($num2); // check range $factor2 = $factor1 + $num2; // accumulate in $factor2 } else { } $target .= $char2; //echo "char1=$char1, num1=$num1, adj= $adj, factor1= $factor1, num2=$num2, char2=$char2, factor2= $factor2<br />\n"; } return $target; } function getAdjustment (){ return $this->adj; } function getModulus (){ return $this->mod; } function setAdjustment ($adj){ $this->adj = (float)$adj; } function setModulus ($mod){ } function _applyFudgeFactor (&$fudgefactor){ $fudge = $fudge + $this->adj; // add in adjustment value $fudgefactor[] = $fudge; // put it back at end of array if ($fudge % $this->mod == 0) { // if it is divisible by modifier $fudge = $fudge * -1; // make it negative } } return $fudge; } function _checkRange ($num) { while ($num >= $limit) { $num = $num - $limit; } while ($num < 0) { $num = $num + $limit; } return $num; } function _convertKey ($key){ $this->errors[] = 'No value has been supplied for the encryption key'; return; } $tot = 0; } else { } if ($num === false) { $this->errors[] = "Key contains an invalid character ($char)"; return; } $array[] = $num; // store in output array $tot = $tot + $num; // accumulate total for later } $array[] = $tot; // insert total as last entry in array return $array; } }