Jonathan M Davis wrote:
On Monday, June 25, 2012 11:35:33 Johannes Pfau wrote:
OK, so I understand std.util is probably not a good idea.

So the candidates for the namespace are:
* std.crypto.hash
* std.checksum
* std.crypto.hash and std.checksum
* std.hash

and the same with hash replaced by digest.
So which one should we use?

The previous discussions on this resulted in us going with std.hash.md5,
std.hash.sha1, and std.hash.crc32. I don't see any reason to change that, and
crypto was specifically _not_ chosen, because crc32 isn't cryptographically
sound. But std.hash encompasses things quite nicely, since they're all hashes.

IMHO crypto should be chosen because beside of hashes there are other cryptographic primitives (ciphers, PKI, MACs, etc.) and it would be nice to have them in one place. std.hash is too narrow because when std gets crypto there will be too many namespaces like std.ciphers, std.ssl, std.mac. All of them will nicely fit in std.crypto or similar.

As you can see crypto isn't good candidate for checksums so another package std.checksum is proposed. Likewise mixing checksums and cryptographic hashes under one namespace (std.hash) isn't a right choice IMO.

Having cryptographic primitives splitted to std.hash and std.crypto.* isn't a good choice either.

Reply via email to