This is the mail archive of the
libc-alpha@sources.redhat.com
mailing list for the glibc project.
Re: SHA-1 in libcrypt
Date: Mon, 17 Jul 2000 19:31:28 +0200
From: Mark Kettenis <kettenis@wins.uva.nl>
Date: Mon, 17 Jul 2000 09:49:35 -0700
From: RoboHak <RoboHak@protovision.org>
I've been wanting SHA in libcrypt for a while now, and I noticed
some talk about it on libc-hacker. Is anyone working on it, and
would it make it into 2.2 if someone did? I know that SRP (Secure
Remote Passwords) uses SHA or MD5 for it's /etc/passwd replacement,
and OpenLDAP also supports SHA. I'm surprised OpenBSD doesn't
support it currently, but they probably would if we started using
it. I know that $1$ is being used for MD5 and $2$ is used for
blowfish in OpenBSD, so I assume $3$ is free and would be used for
SHA. If nobody is working on this currently, is there anyone here
with hash algorithm implementation experience? If not, I may try
this for my own system and submit a patch when I'm done. Any
feedback on this would be appreciated.
What's the advantage of SHA over MD5?
Anyway, here's the SHA-1 algorithm that I've mentioned on one of the
lists before. It's LGPL'ed, and just pretend that you got it as part
of the GNU C Library, where you'll find the details on the license.
Apart from that, feel free to use it as you see fit. Oh yeah, there
might be bugs, so before you lock anything with a SHA-1 encoded
password ...
Mark
Silly me, forgot to include the thing (thanks Andreas).
Mark
begin 644 sha1.tar.gz
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
@5K2B%:UH12M:T8I6M*(5K6A%*]JOMO\"G@#*TP!0````
`
end