在哪里可以找到 FreeBSD sha256 实用程序源代码

Where to find FreeBSD sha256 utility source code

FreeBSD 提供了一组用于计算 SHA-2 哈希(sha256、sha512 等)的实用程序。我想找到他们的源代码。我不需要 SHA-256 哈希函数本身的源代码,但我正在寻找命令行实用程序的源代码,即处理命令行选项、输入文件等的部分。我克隆了最新的 FreeBSD来自 GitHub-based mirror repo 的源代码,并在整个 repo 中搜索“sha256”,它给了我很多匹配项,但我仍然找不到那个确切的匹配项。如果你知道,请指出我在哪里可以找到它。注意:请不要向我指出 Linux/GNU 备选方案,sha256sum,我对 FreeBSD sha256(以及像 sha384、sha512 这样的朋友)实用程序的代码非常感兴趣。

命令行实用程序是md5,但同一个可执行文件有许多不同的名称。参见 md5(1)。源代码位于src/sbin/md5.

它使用了位于 src/lib/libmdlibmd 库中的许多函数,但加密代码似乎在 src/sys/crypto/sha2.

默认情况下,哈希实用程序来自 OpenSSL in the base system。例如

$ less /usr/src/crypto/openssl/crypto/sha/sha256.c

/*
 * Copyright 2004-2016 The OpenSSL Project Authors. All Rights Reserved.
 *
...

您可以从 ports 升级实用程序。在这种情况下,您可以在 /usr/ports 中找到来源。例如

$ cd /usr/ports/security/openssl
$ make fetch
$ make extract
$ less /usr/ports/security/openssl/work/openssl-1.1.1l/crypto/sha/sha256.c

/*
 * Copyright 2004-2016 The OpenSSL Project Authors. All Rights Reserved.
 *
...