gpt4 book ai didi

ssl - 如何在源代码中查找函数

转载 作者:太空宇宙 更新时间:2023-11-03 13:37:31 24 4
gpt4 key购买 nike

在研究如何最好地利用 OpenSSH 时,我研究了 SHA 散列并找到了 a post discussing the SHA2 functions in OpenSSL.接受的答案指出

SHA-224 and SHA-256 are the same function, save for an internal parameter

我确定这是真的,但是,我想亲自看看。只是为了让我知道它的样子。具体来说,我想看看执行 SHA-224 和 SHA-256 哈希的函数。

顺便说一句,这个问题对我来说很重要,因为我参加了一些编程(C 和 perl)类(class)的介绍,这些类(class)总是让我感觉“好吧,那又怎样?这如何做一些有用的事情”。也许通过四处探索,我会看到有用的代码是什么样子的,了解一下开源软件的组织方式,并朝着自己贡献一些有用的东西迈出一小步。

所以我下载了the OpenSSL source code (openssl-1.0.2e.tar.gz) ,打开包装并想“哇,我从哪里开始?”

那么,嗯,我从哪里开始呢?有很多文件和目录。东西放在哪里有约定吗?是否有我应该安装的开发环境有助于看到更大的图景?任何帮助我开始正确方向的帮助都将不胜感激。

最佳答案

Google 是一个良好的开端。有用的关键字:

openssl sha256

第二个结果将您带到头文件 openssl/sha.h ,您可以在其中找到代码中函数的调用方式:

 int SHA224_Init(SHA256_CTX *c);
int SHA224_Update(SHA256_CTX *c, const void *data, size_t len);
int SHA224_Final(unsigned char *md, SHA256_CTX *c);
unsigned char *SHA224(const unsigned char *d, size_t n,
unsigned char *md);

int SHA256_Init(SHA256_CTX *c);
int SHA256_Update(SHA256_CTX *c, const void *data, size_t len);
int SHA256_Final(unsigned char *md, SHA256_CTX *c);
unsigned char *SHA256(const unsigned char *d, size_t n,
unsigned char *md);

然后没有比克隆 openssl git 和 grep 更容易的了,例如 github应该够了。现在,关键字 SHA256_Init。万岁,实现是here

openssl/crypto/sha/sha256.c

关于ssl - 如何在源代码中查找函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35045982/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com