当前位置: 首页 > news >正文

现在房子装修流行什么风格seo网站外包公司

现在房子装修流行什么风格,seo网站外包公司,编程一个最简单游戏代码,微网站建设公司在需要验证可信来源时,需要用到签名验签。因此,需要使用私钥加密,公钥解密,取得被加密的信息。这就会使用到私钥加密,公钥解密的场景了。 参考: https://github.com/openssl/openssl/issues/20493 https:/…

在需要验证可信来源时,需要用到签名验签。因此,需要使用私钥加密,公钥解密,取得被加密的信息。这就会使用到私钥加密,公钥解密的场景了。

参考:
https://github.com/openssl/openssl/issues/20493
https://blog.csdn.net/wq897387/article/details/114129820

使用 openssl-1.1.1 版本,3.x版本API不一样。

#include <stdio.h>
#include <string.h>
#include <stdint.h>
#include "openssl/ssl.h"
#include "openssl/pem.h"
#include "openssl/rsa.h"
#include "openssl/bio.h"#define ENC_PADDING_TYPE  RSA_PKCS1_PADDINGint encrypt(uint8_t *data, int len, uint8_t *out)
{int ret = 0;uint8_t buff[8192] = {0};RSA *rsa = NULL;BIO *bio = NULL;int len1 = 0;FILE *f = fopen("private.pem", "r");if (!f) {printf("Open private.pem error\n");return -1;}len1 = fread(buff, 1, sizeof(buff), f);fclose(f);bio = BIO_new_mem_buf(buff, len1);if (!bio) {printf("BIO_new_mem_buf error\n");return -1;}rsa = PEM_read_bio_RSAPrivateKey(bio, &rsa, NULL, NULL);if (!rsa) {printf("PEM_read_bio_PrivateKey error\n");return -1;}ret = RSA_private_encrypt(len, data, out, rsa, ENC_PADDING_TYPE);if (!ret) {printf("RSA_private_encrypt error\n");RSA_free(rsa);BIO_free_all(bio);return -1;}RSA_free(rsa);BIO_free_all(bio);return 0;
}int decrypt(uint8_t *data, uint8_t *out)
{int ret = 0;uint8_t buff[8192] = {0};RSA *rsa = NULL;BIO *bio = NULL;FILE *f = fopen("public.pem", "r");if (!f) {printf("Open public.pem error\n");return -1;}fread(buff, 1, sizeof(buff), f);fclose(f);bio = BIO_new_mem_buf(buff, -1);if (!bio) {printf("BIO_new_mem_buf error\n");return -1;}rsa = PEM_read_bio_RSA_PUBKEY(bio, &rsa, NULL, NULL);if (!rsa) {printf("PEM_read_bio_RSA_PUBKEY error\n");return -1;}ret = RSA_public_decrypt(256, data, out, rsa, ENC_PADDING_TYPE);if (!ret) {printf("RSA_public_decrypt error\n");RSA_free(rsa);BIO_free_all(bio);return -1;}RSA_free(rsa);BIO_free_all(bio);return 0;
}int main(int argc, char **argv)
{const char text[8192] = "Hello world11111111111111111";uint8_t enc[8192] = {0};uint8_t dec[8192] = {0};printf("Text: %s\n", text);encrypt(text, strlen(text), enc);decrypt(enc, dec);printf("Decrypt: %s\n", dec);return 0;
}

经测试,私钥加密,公钥解密,支持的 padding 方式只有 RSA_PKCS1_PADDINGRSA_X931_PADDING 。公钥加密,私钥解密,各 padding 方式都是支持的。

运行结果:
在这里插入图片描述

http://www.ds6.com.cn/news/25930.html

相关文章:

  • 做彩票网站制作2023年8月疫情恢复
  • 网站的外部链接怎么做网络营销公司如何建立
  • 1688批发厂家直销seo外链发布
  • 威海企业做网站哪家好广州百度竞价外包
  • 怎么查公司名称是否被注册商标河南整站百度快照优化
  • 菏泽网站建设信息五种新型营销方式
  • 可以做网站的appb站推广2023
  • v电影主题 wordpress开封网站优化公司
  • 深圳做积分商城网站建设营销型网站建设怎么做
  • 网站一般做多大的google移动服务应用优化
  • 国家和城乡建设部网站大连网站seo
  • 网站横幅怎么制作教程活动营销案例100例
  • 关于企业网站建设的必要性搜索引擎营销总结
  • 政府网站集约建设日本比分算1:1
  • 做游戏网站的分析百度广告怎么投放
  • 上海做网站设计的公司百度小说
  • 移动端网站生成器百度搜索入口网址
  • 网站建设的需求分析网站开发的流程
  • 国家企业事业部门网站做的垃圾互联网广告联盟
  • 北京网站制作公司清远南通网站快速收录
  • 深喉咙企业网站模板最新国际军事动态
  • 怎么做网站建设赚钱seo到底是什么
  • 开发网站服务器黄山网站建设
  • 百度竞价排名技巧seo常用的工具
  • 怎么用云服务器做网站简阳seo排名优化课程
  • 网站多久需要维护最好的推广平台是什么软件
  • html5网页设计源代码优化设计电子课本下载
  • 网站制作台州360优化大师官方下载
  • 拱墅网站建设上海seo怎么优化
  • 您的网站空间即将过期平台优化是指什么