Friday, March 4, 2011

Generate Random String (Bikin Password Acak)

Saat itu lagi ada keperluan untuk bikin fungsi untuk generate random string, yang rencananya mau digunakan untuk random password.

Seperti biasa mencoba searching dulu di internet, siapa tahu udah ada yang bikin.
Akhirnya saya tertarik dengan salah satu trik berikut

Berikut Kode fungsi:

function GeneratePWDSecutityString: string;
const
  Codes64 = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/';
var
  i, x: integer;
  s1, s2: string;
begin
  s1 := Codes64;
  s2 := '';
  for i := 0 to 15 do
  begin
    x  := Random(Length(s1));
    x  := Length(s1) - x;
    s2 := s2 + s1[x];
    s1 := Copy(s1, 1,x - 1) + Copy(s1, x + 1,Length(s1));
  end;
  Result := s2;
end;

Contoh pemanggilannya:
procedure TForm1.btn2Click(Sender: TObject);
begin
  Edit1.Text := GeneratePWDSecutityString();
end;

Fungsi diatas akan generate random string dengan panjang 15 karakter,

Silahkan dimodifikasi sesuai kebutuhan.

Twitter Delicious Facebook Digg Stumbleupon Favorites More

 
Design by Kang Iwan K-sev | Thank's for your visit To My Site - Ridwan Mulyana | Cibeureum