Para generar una clave de forma aleatoria podemos usar esta esta función sencilla
Para hacerla algo más interesante, he puesto distintas probabilidades para mayúsculas, minúsculas y números.
Código Delphi
[-]function CadenaAleatoria (Largo:integer):string;
var i:integer;
begin
randomize;
result := '';
for i := 0 to largo-1 do
begin
case Random (7) of
0: result := result + Chr (ord ('0')+ random (1 + ord('9')-ord('0')) );
1,2: result := result + Chr (ord ('A')+ random (1 + ord('Z')-ord('A')) );
3,4,5,6: result := result + Chr (ord ('a')+ random (1 + ord('z')-ord('a')) );
end;
end;
end;