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

医保局微网站开发凡科建设网站如何

医保局微网站开发,凡科建设网站如何,肇庆百度快照优化,视觉设计的特点和优势在需要验证可信来源时,需要用到签名验签。因此,需要使用私钥加密,公钥解密,取得被加密的信息。这就会使用到私钥加密,公钥解密的场景了。 参考: 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.yayakq.cn/news/557852/

相关文章:

  • 长沙购物网站建设手机和pc合一的网站
  • 南宁制作网站凡科互动游戏作弊软件
  • 网站建设的简历微信网站是什么
  • 个人博客网站logo淘客商品网站怎么做的
  • 常州网站建设大全谷歌手机网页版入口
  • 网站建设佰金手指科杰十七网站的pv是什么
  • 课程网站建设发展趋势东莞市南华职业技术学校
  • 网络营销公司全网天下防疫优化措施
  • 山东省建设注册执业中心网站网站商城建设报告
  • 免费招聘人才网站网络公关公司有哪些
  • 女生化妆品网站建设规划书建设一个网站成本多少钱
  • 制作网站开发多少钱工程168信息平台
  • 上海建设网站二级域名免费申请
  • 官方网站开发模板线上网络平台推广
  • 网站收录地址建筑公司取名字参考大全
  • 网站建设注册什么公司免费软文发布平台有哪些
  • 做网站可以用电脑当服务器吗合肥响应网站案例
  • 注册网站步骤医疗网站设计
  • 免费网站的建设江西省住房保障建设厅网站
  • 网站建设价格就要用兴田德润什么是网站快照
  • 网站开发php教程企业简介介绍
  • 做网站需要看什么书wordpress 商城模版
  • 建设网站的好处西西美人美体
  • 合肥市科技中心网站中国建设银行网站维护
  • 南宁网站优化推广可以做视频片头的网站
  • 成都三网合一网站建设哈尔滨网站制作软件
  • 深圳网站建设单位wordpress cookie失效
  • 长宁区网站建设网页制作赤壁网站定制
  • 做研学的网站wordpress插件汉化包
  • 网站空间大小有什么用中山做网站的公司哪家好