sha1()
是 Linux 系统(以及其他 Unix-like 系统)中的一个函数,它用于计算数据的 SHA-1 哈希值。SHA-1(Secure Hash Algorithm 1)是一种加密哈希函数,它接受任意长度的输入数据,并输出一个固定长度(160 位)的哈希值。
SHA-1 是一种加密哈希函数,属于安全哈希算法(SHA)家族的一员。还有其他版本的 SHA,如 SHA-256 和 SHA-512,它们提供了更高的安全性。
SHA-1 已经被证明存在安全漏洞,容易受到碰撞攻击,即攻击者可以找到两个不同的输入,它们产生相同的 SHA-1 哈希值。因此,对于需要高安全性的应用,不推荐使用 SHA-1。
#include <stdio.h>
#include <openssl/sha.h>
void compute_sha1(const char *str, unsigned char outputBuffer[SHA_DIGEST_LENGTH]) {
SHA1((unsigned char*)str, strlen(str), outputBuffer);
}
int main() {
const char *test_string = "Hello World";
unsigned char hash[SHA_DIGEST_LENGTH];
compute_sha1(test_string, hash);
printf("SHA1(\"%s\") = ", test_string);
for(int i = 0; i < SHA_DIGEST_LENGTH; i++) {
printf("%02x", hash[i]);
}
printf("
");
return 0;
}
在这个示例中,我们使用了 OpenSSL 库来计算字符串 "Hello World" 的 SHA-1 哈希值,并将其打印出来。注意,为了编译这段代码,你需要安装 OpenSSL 开发库,并在编译时链接该库(例如,使用 -lssl -lcrypto
编译选项)。
领取专属 10元无门槛券
手把手带您无忧上云