MD5 BSD like passwords

I’m coding a “postfixadmin” using ruby, so, all the passwords are stored
in DB using a bsd like md5 hash. Is there any simple way I could
generate passwords like that (the same hash could be used to generate
shadow pass?)?.

Really sorry for my lame english, and if the question is stupid, but I’m
a real newbie to ruby.

Thanks in advance.

Felipe C. wrote:

I’m coding a “postfixadmin” using ruby, so, all the passwords are stored
in DB using a bsd like md5 hash. Is there any simple way I could
generate passwords like that (the same hash could be used to generate
shadow pass?)?.

Really sorry for my lame english, and if the question is stupid, but I’m
a real newbie to ruby.

Thanks in advance.

just found out facets library, sorry for the stupid question.

On 1/13/07, Felipe C. [email protected] wrote:

I’m coding a “postfixadmin” using ruby, so, all the passwords are stored
in DB using a bsd like md5 hash. Is there any simple way I could
generate passwords like that (the same hash could be used to generate
shadow pass?)?.

Really sorry for my lame english, and if the question is stupid, but I’m
a real newbie to ruby.

you can generate MD5 with:
require ‘digest/md5’
hash = Digest::MD5.digest(data) # binary
or hash = Digest::MD5.hexdigest(data) #hexa

Thanks a bunch for the reply. I’ll take a good look at the documents.

F. Senault wrote:

If you take a look at the manpage of the crypt system function (man 3
crypt or crypt(3) ),
you’ll see an explanation of the hash format.

I have no idea of the portability of that function, though. For
instance, it doesn’t work on my Windows box, but it works well enough
with FreeBSD and Linux.

Fred

Le 13 janvier 2007 à 14:41, Felipe C. a écrit :

I’m coding a “postfixadmin” using ruby, so, all the passwords are stored
in DB using a bsd like md5 hash. Is there any simple way I could
generate passwords like that (the same hash could be used to generate
shadow pass?)?.

If that’s really a BSD-like password (in the form $n$aaaaaaa$aa…), the
crypt function should be able to generate it on a unix system, as long
as you pass the entire salt ($ included) :

“password”.crypt(“$1$Eou1PtvJ$”)
=> “$1$Eou1PtvJ$bh2HAitLkEOwoU6Fjuh8i0”

If you take a look at the manpage of the crypt system function (man 3
crypt or crypt(3) ),
you’ll see an explanation of the hash format.

I have no idea of the portability of that function, though. For
instance, it doesn’t work on my Windows box, but it works well enough
with FreeBSD and Linux.

Fred