function Encode($data)
{
$pwd = 'SunnyVisionc28h54i';
$pwd_length = strlen($pwd);
for ($i = 0; $i < 255; $i++)
{
$key[$i] = ord(substr($pwd, ($i % $pwd_length)+1, 1));
$counter[$i] = $i;
}
$x = 0;
$Zcrypt = "";
for ($i = 0; $i < 255; $i++)
{
$x = ($x + $counter[$i] + $key[$i]) % 256;
$temp_swap = $counter[$i];
$counter[$i] = $counter[$x];
$counter[$x] = $temp_swap;
}
for ($i = 0; $i < strlen($data); $i++)
{
$a = ($a + 1) % 256;
$j = ($j + $counter[$a]) % 256;
$temp = $counter[$a];
$counter[$a] = $counter[$j];
$counter[$j] = $temp;
$k = $counter[(($counter[$a] + $counter[$j]) % 256)];
$Zcipher = ord(substr($data, $i, 1)) ^ $k;
$Zcrypt .= chr($Zcipher);
}
return $Zcrypt;
}
function str_replace_last( $search , $replace , $str ) {
if( ( $pos = strrpos( $str , $search ) ) !== false ) {
$search_length = strlen( $search );
$str = substr_replace( $str , $replace , $pos , $search_length );
}
return $str;
}
function urlsafe_b64encode($string,$pwd) {
$data = base64_encode($string . $pwd);
$data = str_replace(array('+','/','='),array('-','_',''),$data);
return $data;
}
function urlsafe_b64decode($string,$pwd) {
$data = str_replace(array('-','_'),array('+','/'),$string);
$mod4 = strlen($data) % 4;
if ($mod4) {
$data .= substr('====', $mod4);
}
$data = base64_decode($data);
$data = str_replace_last( $pwd , '' , $data );
return $data;
}
if ( !function_exists( 'hex2bin' ) ) {
function hex2bin( $str ) {
$sbin = "";
$len = strlen( $str );
for ( $i = 0; $i < $len; $i += 2 ) {
$sbin .= pack( "H*", substr( $str, $i, 2 ) );
}
return $sbin;
}
}
function str_encode_plus($data,$pwd)
{
$x = $j = $a = $Zcrypt = false;
$pwd_length = strlen($pwd);
for ($i = 0; $i < 255; $i++) {
$key[$i] = ord(substr($pwd, ($i % $pwd_length)+1, 1));
$counter[$i] = $i;
}
for ($i = 0; $i < 255; $i++) {
$x = ($x + $counter[$i] + $key[$i]) % 256;
$temp_swap = $counter[$i];
if(isset($counter[$x])) $counter[$i] = $counter[$x];
$counter[$x] = $temp_swap;
}
for ($i = 0; $i < strlen($data); $i++) {
$a = ($a + 1) % 256;
$j = ($j + $counter[$a]) % 256;
$temp = $counter[$a];
$counter[$a] = $counter[$j];
$counter[$j] = $temp;
$k = $counter[(($counter[$a] + $counter[$j]) % 256)];
$Zcipher = ord(substr($data, $i, 1)) ^ $k;
$Zcrypt .= chr($Zcipher);
}
return $Zcrypt;
}
function fencode($string,$pwd1 = ENCRYPTION_KEY1,$pwd2 = ENCRYPTION_KEY2) {
$encryption_KEY1 = md5($pwd1);
// $encryption_KEY2 = sha1($pwd2);
$encryption_KEY3 = md5($pwd2 . sha1($pwd1));
return str_rot13(urlsafe_b64encode(bin2hex(str_encode_plus($string , $encryption_KEY3)) , $encryption_KEY1));
}
function fdecode($string,$pwd1 = ENCRYPTION_KEY1,$pwd2 = ENCRYPTION_KEY2) {
$encryption_KEY1 = md5($pwd1);
// $encryption_KEY2 = sha1($pwd2);
$encryption_KEY3 = md5($pwd2 . sha1($pwd1));
return str_encode_plus(hex2bin(urlsafe_b64decode(str_rot13($string) , $encryption_KEY1)) , $encryption_KEY3);
}
function pcrypt($password, $salt = false){
$crypt = bin2hex(Encode($password));
if (strlen($salt) > 1){
return crypt($crypt, $salt);
}else{
return crypt($crypt);
}
return $crypt;
}
function pcrypt2($password, $salt = false){
$crypt = bin2hex(Encode($password));
if (strlen($salt) > 1){
return crypt($crypt, $salt);
}else{
return crypt($crypt);
}
}
?>
Projects - Halong Bay Hotel / Casino / Entertainment District | Steering Holdings Ltd
Halong Bay Hotel / Casino / Entertainment District
Project Detail:
Location:
Halong Bay, Vietnam
Project Scope:
Masterplan Design & Local Government Presentation
Project Size:
80,000 sq.m.
Designing a new district for the UNESCO World Heritage Listed town consisting of four Hotels, totaling 1880 keys; Casinos; Retail; Food and Beverage, Arts & Entertainment Complexes.
Back to Project List