C ';SHA1和x27;是否已弃用:在OS X 10.7中首次弃用?
所以我试着编译一个具有C ';SHA1和x27;是否已弃用:在OS X 10.7中首次弃用?,c,macos,gcc,openssl,osx-mavericks,C,Macos,Gcc,Openssl,Osx Mavericks,所以我试着编译一个具有SHA1函数的代码。。我包括以下标题: #include <openssl/sha.h> 但是手册页仍然有该功能的描述 有人能为类似的函数(MD5或SHA1)推荐任何其他标题吗 PS-在使用gcc编译时,我还需要链接任何库吗?您仍然可以使用它。不推荐并不意味着不可用。建议使用不同的哈希算法。您需要将libcrypto-add-lcrypto链接到要链接到的库 如果要使用更多的openssl,还需要使用-lssl在libssl中链接 因此,例如,如果您的测试代码
SHA1
函数的代码。。我包括以下标题:
#include <openssl/sha.h>
但是手册页仍然有该功能的描述
有人能为类似的函数(MD5或SHA1)推荐任何其他标题吗
PS-在使用gcc编译时,我还需要链接任何库吗?您仍然可以使用它。不推荐并不意味着不可用。建议使用不同的哈希算法。您需要将libcrypto-add
-lcrypto
链接到要链接到的库
如果要使用更多的openssl,还需要使用-lssl
在libssl中链接
因此,例如,如果您的测试代码是test.c,您将执行以下操作:
gcc -o test test.c -lcrypto -lssl
苹果不赞成OpenSSL,但别担心,OpenSSL是一个巨大的项目,不会很快消失 通过将
-Wno error=deprecated声明添加到命令行,可以关闭不推荐使用的错误。这将保留警告(这很有用,因为它可以帮助您捕获其他不推荐的声明),而不会导致错误
关于为什么会在这篇文章中出现这种情况,有一些争论:你仍然可以使用它。不推荐并不意味着不可用。建议使用不同的哈希算法。您需要将libcrypto-add-lcrypto
链接到要链接的库。那么,我的gcc命令是什么样子的呢?我需要同时链接lssl和lcrypto吗?如果您使用的是openssl特定的功能,则只需要同时链接这两个。如果您正在开发一个只支持mac的应用程序,那么我建议您使用,但是如果您只是在编写一些示例代码,那么继续使用openssl是可以的。
gcc -o test test.c -lcrypto -lssl