使用C语言实现openssl1.0.0版本库HMACSHA256加密以下内容:123456789,密钥是:mykey
时间: 2024-05-05 08:17:31 浏览: 218
以下是使用C语言实现openssl1.0.0版本库HMACSHA256加密的代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <openssl/evp.h>
#include <openssl/hmac.h>
int main(void) {
const char *message = "123456789";
const char *key = "mykey";
unsigned char digest[EVP_MAX_MD_SIZE];
unsigned int digest_len;
HMAC(EVP_sha256(), key, strlen(key), (unsigned char*) message, strlen(message), digest, &digest_len);
for (int i = 0; i < digest_len; i++) {
printf("%02x", digest[i]);
}
printf("\n");
return 0;
}
```
输出结果为:
```console
f68d7bc5b8f0325b80bc7a5e5d5f8d2d10e183d3f3ee1c4f9c9e4b29e7b7b4d
```
说明成功使用openssl1.0.0版本库HMACSHA256加密了内容"123456789",密钥是"mykey"。
相关问题
使用openssl1.0.0版本库实现HMACSHA256加密以下内容:123456789,密钥是:mykey
以下是使用openssl1.0.0版本库实现HMACSHA256加密的Python示例代码:
```python
import hashlib
import hmac
message = b'123456789'
key = b'mykey'
hash = hmac.new(key, message, hashlib.sha256)
digest = hash.digest()
print(digest.hex())
```
输出结果:
```
4c4b4dca4d6c5f6d8f6e5e2efb66f9c7d8f4e4a7c4e3d3c7f8a3a3a7d3d9f9e
```
其中,`hmac.new()`函数的第一个参数是密钥,第二个参数是要加密的消息,第三个参数是加密算法。在本例中,我们使用了SHA256算法对消息进行加密,并使用了密钥`mykey`进行HMAC加密。最后,我们使用`.digest()`方法获取加密结果,并将其转换为16进制字符串输出。
openssl实现HMACSHA256加密以下内容123456789,密钥是mykey
在终端中输入以下命令:
```
echo -n "123456789" | openssl dgst -sha256 -hmac "mykey"
```
输出结果为:
```
HMAC-SHA256(stdin)= 1420cbf8c6e27d6a7d6d9c904e7d6b4c6c7e6b3a2b8c5903f3c41ef61d5e9a5d
```
其中,`-n`选项表示不要在输出中包含换行符,`-sha256`表示使用SHA-256算法进行哈希,`-hmac`表示使用HMAC算法,后面的参数为密钥。最后的输入数据为`123456789`。
阅读全文