Cita:
Empezado por dec
Bueno... a mí me gusta empezar y acabar, lo que pasa es que las cosas son como son... esto de los programas y tal... no se sabe nunca dónde acaban.
|
Tampoco quería decir que dejaras todo a medias
Es verdad que al final los detalles finales pueden alargarse indefinidamente, y cuando crees que ya lo tienes se te ocurre algo mejor ... en fin, que la cosa nunca acaba.
Y como comentaba antes, lo bueno de usar un algoritmo sencillo es que puede portarse fácilmente. Por ejemplo a freepascal.
Código Delphi
[-]
program passhash;
uses Sysutils, md5;
function PassGen(Str: String): String;
const
Alfa = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
var
i: Integer;
begin
PassGen:= '';
Str:= MD5Print(MD5String(Str));
for i:= 0 to (Length(Str) div 4) - 1 do
PassGen:= PassGen +
Alfa[(StrToInt('$'+Copy(Str,(i*4)+1,4)) mod Length(Alfa))+1];
end;
var
i: Integer;
Str: String;
begin
Str:= '';
for i:= 1 to ParamCount do
Str:= Str + ParamStr(i);
Writeln('Hash: ' + PassGen(Str));
end.
Código:
./passhash www.clubdelphi.com secreto
Hash: EEOWyCST