From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Amirouche Boubekki Newsgroups: gmane.lisp.guile.user Subject: Re: UUID3 implementation for Guile Date: Tue, 09 Jan 2018 11:00:26 +0100 Message-ID: <2a9cacddebb25ab38af93be00e76fe69@hypermove.net> References: <20180108145801.zljsglp4fhve2djn@floriannotebook> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Trace: blaine.gmane.org 1515491971 31407 195.159.176.226 (9 Jan 2018 09:59:31 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Tue, 9 Jan 2018 09:59:31 +0000 (UTC) User-Agent: Roundcube Webmail/1.1.2 Cc: guile-user@gnu.org, guile-user To: "pelzflorian (Florian Pelz)" Original-X-From: guile-user-bounces+guile-user=m.gmane.org@gnu.org Tue Jan 09 10:59:27 2018 Return-path: Envelope-to: guile-user@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eYqgf-0007Eo-Gc for guile-user@m.gmane.org; Tue, 09 Jan 2018 10:59:17 +0100 Original-Received: from localhost ([::1]:42512 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eYqif-0006Ww-2b for guile-user@m.gmane.org; Tue, 09 Jan 2018 05:01:21 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:34644) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eYqhy-0006VW-I6 for guile-user@gnu.org; Tue, 09 Jan 2018 05:00:39 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eYqhx-0007JA-IQ for guile-user@gnu.org; Tue, 09 Jan 2018 05:00:38 -0500 Original-Received: from relay2-d.mail.gandi.net ([2001:4b98:c:538::194]:58977) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1eYqhp-0007CI-Mz; Tue, 09 Jan 2018 05:00:29 -0500 Original-Received: from webmail.gandi.net (webmail8-d.mgt.gandi.net [10.58.1.148]) (Authenticated sender: amirouche@hypermove.net) by relay2-d.mail.gandi.net (Postfix) with ESMTPA id A41D2C5A8C; Tue, 9 Jan 2018 11:00:26 +0100 (CET) In-Reply-To: <20180108145801.zljsglp4fhve2djn@floriannotebook> X-Sender: amirouche@hypermove.net X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4b98:c:538::194 X-BeenThere: guile-user@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: General Guile related discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-user-bounces+guile-user=m.gmane.org@gnu.org Original-Sender: "guile-user" Xref: news.gmane.org gmane.lisp.guile.user:14419 Archived-At: Le 2018-01-08 15:58, pelzflorian (Florian Pelz) a écrit : > Hello, > > I need to generate a unique deterministic ID for Haunt and other Web > stuff. Therefore I implemented UUID version 3 and MD5 by myself. But > I wonder: > > * Why is UUID3 support not in Guile proper? Does it belong there? > Should I submit a patch? It definitly has a place in Guile, if it's not already provided by another GNU project like libgcrypt or gnutls. You need to patch branch-2.2 with your code, tests and documentation and send the patch to guile-devel@gnu.org. > * Is there already a better implementation out there? Apparently > there is an implementation in Gauche Scheme. I also find this. > > https://github.com/marcomaggi/industria/tree/master/weinholt The official repository for industria is the following: https://github.com/weinholt/industria/ I use some of those in my web projects, including argon2 https://github.com/a-guile-mind/culturia.one/blob/master/src/argon2.scm I think you'd better avoid both md5 and sha1 because there are attacks against them. > Here the Guile list talked about using gcrypt from Guile. > > https://lists.gnu.org/archive/html/guile-devel/2013-02/msg00009.html > I think it's better to rely on libgcrypt and gnutls. I don't do that myself, yet, because industria is the easy solution. The problem with industria is that we are not sure it's used by people and that the cryptography is correct. Whereas libgcrypt and gnutls have a much wider audience with less chances of bugs and compromissions. Can you explain how do you use md5 and uuid3 with haunt? FWIW I would prefer to use something base62, instead of exposing a md5 hash directly.