[Gambas-user] 'gb.crypt' component and SHA (1-2)

Kende Krisztián nemh at ...2007...
Thu Dec 26 22:48:17 CET 2013


2013-12-26 17:58 keltezéssel, Kende Krisztián írta:
> 2013-12-26 12:33 keltezéssel, Kende Krisztián írta:
>> Hi,
>>
>> 'gb.crypt' component is perfect if I want to check SHA-512 password match:
>>
>>      Dim shahash As String
>>
>>      Exec ["mkpasswd", "-m", "sha-512", "alma"] To shahash
>>
>>      Print Crypt.Check("alma", Trim(shahash))
>>
>> Output is 'False', so the password is correct.
>>
>> But SHA-512 hash generating function isn't implemented yet, just
>> simplified MD5. Can't we do something about it?
>>
>> Kendek
>>
>>
> I'm not a C programmer, but I hacked the 'gb.crypt' source ('c_crypt.c'):
>
> - strcpy(key, "$1$");
> + strcpy(key, "$6$");
>
> I compiled this:
>
> ./reconf
> ./configure
> make
>
> and I installed the created 'gb.crypt.so.0.0.0'.
>
> The result:
>
>     Exec ["mkpasswd", "-m", "sha-512", "alma", "almaalma"]
>
>     Print Crypt.MD5("alma", "almaalma")
>
> Output:
>
> $6$almaalma$MWWhHTP9sVVxJ1olWCRidzfMOSH0nOKVR9cjcHCtqP5LQ/08V18jiwakTNxWSNUWMyIE2lVLKBL.MUBTk460T.
> $6$almaalma$MWWhHTP9sVVxJ1olWCRidzfMOSH0nOKVR9cjcHCtqP5LQ/08V18jiwakTNxWSNUWMyIE2lVLKBL.MUBTk460T.
>
> So this method is works, the generated hash is a SHA-512 hash.
> Please implement this little plus function, really don't seem too
> difficult. :-)
>
> Kendek
>

Now, I implemented sha-256 and sha-512:

   Print Crypt.DES("alma", "al")
   Print Crypt.MD5("alma", "almaalma")
   Print Crypt.SHA256("alma", "almaalmaalma")
   Print Crypt.SHA512("alma", "almaalmaalma")

Output:

alwADBQIemkbE
$1$almaalma$PPesTGW.ytPBMoDhgO8sm/
$5$almaalmaalma$6j.0vq2EfahazOz4EIGEb569Z6Mb/dTKMr.HPCKINT4
$6$almaalmaalma$7ghRcB7juLsnGsAxpuZBXo.RgljxmgL6eXuR0ZIXifjwCFIxo9em994VADsn9v3bj/jz7gdHrQZpRWL8WEIfi/

So, really not big deal. :-)





More information about the User mailing list