Basic Encryption Mode Demos

MyLiveChat provides an encryption algorithm for Basic Encrytion Mode. If you are using C#, ASP, PHP or Java, you can integrate MyLiveChat to your web application with membership by basic encryption algorithm.

C# demo 
int EncryptLoopCount = 4;

public string BasicEncrypt(string data, string encryptkey)
{
  if (string.IsNullOrEmpty(data))
  throw (new ArgumentNullException("data"));
  if (string.IsNullOrEmpty(encryptkey))
  throw (new ArgumentNullException("encryptkey"));
  int[] vals = MakeArray(data, true);
  int[] keys = MakeArray(encryptkey, false);
  for (int t = 0; t < EncryptLoopCount; t++)
  {
  for (int i = 0; i < vals.Length; i++)
  {
  int v = vals[i];
  int im = (v + i) % 5;
  for (int x = 0; x < vals.Length; x++)
  {
  if (x == i)
  continue;
  if (x % 5 != im)
  continue;
  for (int y = 0; y < keys.Length; y++)
  {
  int k = keys[y];
  if (k == 0)
  continue;
  vals[x] += v % k;
  }
  }
  }
  }
  return BasicFormat(vals);
}

public string BasicFormat(int[] vals)
{
  StringBuilder sb = new StringBuilder();
  foreach (int i in vals)
  {
  if (sb.Length > 0)
  sb.Append("-");
  sb.Append(i);
  }
  return sb.ToString();
}

public int[] MakeArray(string str, bool random)
{
  int len = (int)Math.Pow(2, Math.Floor(Math.Log(str.Length, 2)) + 1) + 8;
  if (len < 32) len = 32;
  int[] arr = new int[len];
  if (random)
  {
  Random r = new Random();
  for (int i = 0; i < arr.Length; i++)
  arr[i] = str[r.Next() % str.Length];
  int start = 1 + r.Next() % (len - str.Length - 2);
  for (int i = 0; i < str.Length; i++)
  arr[start + i] = str[i];
  arr[start - 1] = 0;
  arr[start + str.Length] = 0;
  }
  else
  {
  for (int i = 0; i < arr.Length; i++)
  arr[i] = str[i % str.Length];
  }
  return arr;
}
Top
Asp demo 
Public Function MakeArray(str, random)
  Dim arrlen
  arrlen = 2^(Fix(log(2)/log(Len(str))) + 1) + 8
  If arrlen < 32 Then
  arrlen = 32
  End If
  ReDim arr(arrlen-1)
  If random=true Then
  Randomize Timer
  For i = 0 to arrlen-1
  arr(i) = Asc(Mid(str,Int((9999 - 1000 + 1) * Rnd + 1000) mod Len(str) + 1,1))
  Next
  start = 1 + Int((9999 - 1000 + 1) * Rnd + 1000) mod (arrlen - Len(str) - 2)
  For i = 1 to Len(str)
  arr(start + i) = Asc(Mid(str,i,1))
  Next
  arr(start - 1) = 0
  arr(start + Len(str)) = 0
  Else
  For i = 0 to arrlen-1
  arr(i) = Asc(Mid(str,i mod Len(str) + 1,1))
  Next
  End If
  MakeArray=arr
End Function

Public Function BasicFormat(vals)
  Dim sb
  sb = ""
  For i=0 to UBound(vals)
  If Len(sb) > 0 Then
  sb = sb & "-"
  End if
  sb = sb & (vals(i)&"")
  Next
  BasicFormat=sb
End Function

Public Function BasicEncrypt(data, encryptkey)
  If data=null Or Len(Trim(data))=0 Then
  Err.Raise6
  End If
  If encryptkey=null Or Len(Trim(encryptkey))=0 Then
  Err.Raise6
  End If
  vals = MakeArray(data, true)
  keys = MakeArray(encryptkey, false)
  EncryptLoopCount = 4
  for t = 0 to EncryptLoopCount-1
  for i = 0 to UBound(vals)
  v = vals(i)
  im = (v + i) mod 5
  for x = 0 to UBound(vals)
  if x <> i And x mod 5 = im Then
  for y = 0 to UBound(keys)
  k = keys(y)
  if k <> 0 Then
  vals(x) = vals(x) + v mod k
  End if
  Next
  End If
  Next
  Next
  Next
  BasicEncrypt=BasicFormat(vals)
End Function
Top
Php demo 
function BasicEncrypt($data, $encryptkey)
{
  $EncryptLoopCount = 4;
  $vals = MakeArray($data, true);
  $keys = MakeArray($encryptkey, false);
  $len = sizeof($vals);
  $len2 = sizeof($keys);
  for ($t = 0; $t < $EncryptLoopCount; $t++)
  {
  for ($i = 0; $i < $len; $i++)
  {
  $v = $vals[$i];
  $im = ($v + $i) % 5;
  for ($x = 0; $x < $len; $x++)
  {
  if ($x == $i)
  continue;
  if ($x % 5 != $im)
  continue;
  for ($y = 0; $y <$len2; $y++)
  {
  $k = $keys[$y];
  if ($k == 0)
  continue;
  $vals[$x] += $v % $k;
  }
  }
  }
  }
  return implode('-', $vals);
}

function MakeArray($str, $random)
{
  $len = pow(2, floor(log(strlen($str), 2)) + 1) + 8;
  if ($len < 32) $len = 32;
  $arr = Array();
  $strarr = str_split($str);
  if ($random==true)
  {
  for ($i = 0; $i < $len; $i++)
  $arr[] = ord($strarr[rand() % strlen($str)]);
  $start = 1 + rand() % ($len - strlen($str) - 2);
  for ($i = 0; $i < strlen($str); $i++)
  $arr[$start + $i] = ord($strarr[$i]);
  $arr[$start - 1] = 0;
  $arr[$start + strlen($str)] = 0;
  }
  else
  {
  for ($i = 0; $i < $len; $i++)
  $arr[] = ord($strarr[$i % strlen($str)]);
  }
  return $arr;
}
Top
Java demo 
int EncryptLoopCount = 4;
public int[] MakeArray(String str, Boolean random)
{
  int len = (int)Math.pow(2, Math.floor(Math.log(2)/Math.log(str.length())) + 1) + 8;
  if (len < 32) len = 32;
  int[] arr = new int[len];
  if (random)
  {
  Random r = new Random();
  for (int i = 0; i < arr.length; i++)
  arr[i] = str.charAt(r.nextInt(9999) % str.length());
  int start = 1 + r.nextInt(9999) % (len - str.length() - 2);
  for (int i = 0; i < str.length(); i++)
  arr[start + i] = str.charAt(i);
  arr[start - 1] = 0;
  arr[start + str.length()] = 0;
  }
  else
  {
  for (int i = 0; i < arr.length; i++)
  arr[i] = str.charAt(i % str.length());
  }
  return arr;
}

public String BasicFormat(int[] vals)
{
  StringBuilder sb = new StringBuilder();
  for (int i=0;i   {
  if (sb.length() > 0)
  sb.append("-");
  sb.append(vals[i]);
  }
  return sb.toString();
}

public String BasicEncrypt(String data, String encryptkey)
{
  if (data==null || data.trim() == "")
  throw new IllegalArgumentException("data");
  if (encryptkey == null || encryptkey == "")
  throw new IllegalArgumentException("encryptkey");
  int[] vals = MakeArray(data, true);
  int[] keys = MakeArray(encryptkey, false);
  for (int t = 0; t < EncryptLoopCount; t++)
  {
  for (int i = 0; i < vals.length; i++)
  {
  int v = vals[i];
  int im = (v + i) % 5;
  for (int x = 0; x < vals.length; x++)
  {
  if (x == i)
  continue;
  if (x % 5 != im)
  continue;
  for (int y = 0; y < keys.length; y++)
  {
  int k = keys[y];
  if (k == 0)
  continue;
  vals[x] += v % k;
  }
  }
  }
  }
  return BasicFormat(vals);
}
Top

Live Chat Plugins

MyLiveChat works seamlessly with the apps you already use to power your business, including the most popular CRM, CMS, eCommerce, SaaS solutions.

Web Web

Windows Windows

icon_mac Mac

Windows Android

iOS iOS

Desktop Desktop

Your customers are already on your site. Chat with your visitors, Increase sales and conversions, make your customers happy!