package com.opentravelsoft.util;
import java.util.Random;
public class CryptUtil
{
private CryptUtil()
{
}
public static CryptUtil getInstance()
{
return cu != null ? cu : (cu = new CryptUtil());
}
public static String randomcrypt(int digistal[])
{
Random random = new Random();
int radom = random.nextInt(1000);
String plain = "";
for (int i = 0; i < digistal.length; i++)
{
digistal[i] += radom;
plain = plain + digistal[i] + "=";
}
plain = plain + radom;
System.out.print("plain=" + plain);
return Crypt.getInstance().encrypt(plain);
}
public static int[] decryptrandom(String encrypt)
{
String temp = Crypt.getInstance().decrypt(encrypt);
System.out.println(temp);
if (!temp.matches("^((\\d+)=){1,}(\\d+)$"))
return null;
String result[] = temp.split("=");
int plain[] = new int[result.length - 1];
for (int i = 0; i < plain.length; i++)
plain[i] = Integer.parseInt(result[i])
- Integer.parseInt(result[result.length - 1]);
return plain;
}
public static String encrypt(String str)
{
return Crypt.getInstance().encrypt(str);
}
public static String decrypt(String str)
{
return Crypt.getInstance().decrypt(str);
}
public static void main(String args[])
{
try
{
String info = randomcrypt(new int[] { 18, 22, 3, 7 });
System.out.println("info=" + info);
int result[] = decryptrandom(info);
for (int i = 0; i < result.length; i++)
System.out.println("result=" + result[i]);
} catch (Exception ex)
{
ex.printStackTrace();
}
}
private static CryptUtil cu;
}