SHA-1加密解密的例子
时间: 2024-01-11 22:04:42 浏览: 26
SHA-1是一种哈希算法,不是加密算法。它不支持解密操作,只能进行加密(即生成摘要)操作。SHA-1算法的结果是一个40个字符长的消息摘要,不能还原出原始数据。
以下是一个使用SHA-1算法生成摘要的示例代码:
```
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <openssl/sha.h>
int main() {
unsigned char input[] = "hello world";
unsigned char output[SHA_DIGEST_LENGTH];
int i;
SHA1(input, strlen(input), output);
printf("SHA1 hash of 'hello world': ");
for (i = 0; i < SHA_DIGEST_LENGTH; i++) {
printf("%02x", output[i]);
}
printf("\n");
return 0;
}
```
在这个例子中,我们使用了OpenSSL库中的SHA1函数。首先我们定义了一个输入字符串`input`,然后定义了一个长度为20的输出数组`output`,用于存储计算得到的SHA1摘要。接着,我们调用`SHA1`函数,将输入字符串、其长度和输出数组传递给它。最后,我们遍历输出数组,将每个字节的十六进制表示输出到控制台。
需要注意的是,SHA-1算法是不可逆的,不能通过SHA-1摘要还原出原始数据。SHA-1算法通常用于数据完整性校验、数字签名等场景。