Merhabalar,
Asagida PHP Code Etiketleri arasinda sunmus oldugum java ile hazirlanmis String mixer fonksiyonlarini, ayni sonucu verecek sekilde VB'ye cevirebilirseniz Bana cok iyi bir yardimda bulunmus olacaksiniz.
PHP- Kodu:
public class Mixer
{
public Mixer()
{
}
public String mix(long l, String s)
{
int i = s.length();
char ac[] = new char[s.length()];
int ai[] = getRnds(l, i);
if(s.length() == 0)
return "";
s.getChars(0, s.length(), ac, 0);
char c = ac[ai[0]];
for(int j = 0; j <= i - 2; j++)
ac[ai[j]] = ac[ai[j + 1]];
ac[ai[i - 1]] = c;
return new String(ac);
}
public static void main(String args[])
{
String s = "Hi dnm, will you be able to break this??? ;-)";
Mixer mixer = new Mixer();
String s1 = mixer.mix(1L, s);
System.out.println(s);
System.out.println(s1);
System.out.println(mixer.demix(1L, s1));
}
int[] getRnds(long l, int i)
{
int ai[] = new int[i];
Random random = new Random(l);
for(int j = 0; j < i; j++)
ai[j] = (int)(random.nextDouble() * (double)i);
System.out.println();
return ai;
}
public String demix(long l, String s)
{
int i = s.length();
char ac[] = new char[s.length()];
int ai[] = getRnds(l, i);
if(s.length() == 0)
return "";
s.getChars(0, s.length(), ac, 0);
char c = ac[ai[i - 1]];
for(int j = i - 2; j >= 0; j--)
ac[ai[j + 1]] = ac[ai[j]];
ac[ai[0]] = c;
return new String(ac);
}
}