首页 > TAG信息列表 > EVP

Linux 定时器介绍

以下内容为本人的著作,如需要转载,请声明原文链接 微信公众号「englyf」https://www.cnblogs.com/englyf/p/16651865.html 曾经常去沙县小吃,就为了蹭上一碗4块钱的葱油拌面,听着边上的几位小哥老说 华仔,有软硬之分。 其实写代码也有这种讲究。 在linux系统中定时器有分为软定时和

C/C++ 使用 openssl 进行 AES/ECB/PKCS5Padding 加密解密

在 java 上进行 AES128/ECB/PKCS5Padding 加密解密是很简单的 public static String aesDecrypt(String str,String key) throws Exception{ Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding"); cipher.init(Cipher.DECRYPT_MODE,new SecretKeySp

⑤再改一改加密函数

输入文件路径,在程序目录下完成加密 #pragma comment(lib,"libssl.lib") #pragma comment(lib,"libcrypto.lib") #pragma warning(disable:4996) #include <stdio.h> #include <string.h> #include <openssl/evp.h> #include <openssl/x509.h>

④ 对加解密函数改造封装

②中的加解密函数,密钥是内部生成的一段数字,打开的文件是程序目录下的 修改后实现输入字符串作为密钥以及文件位置,方便 #pragma comment(lib,"libssl.lib") #pragma comment(lib,"libcrypto.lib") #pragma warning(disable:4996) #include <stdio.h> #include <string.h> #incl

实验一 密码引擎-2-OpenEuler-OpenSSL测试

任务详情 在Ubuntu编写代码测试OpenSSL功能,包含Base64,SM2,SM3,SM4算法的调用,然后在OpenEuler中重现 提交代码链接和运行结果截图 加分项:在Windows中重现 在ubuntu编写代码测试openssl功能 base64测试 #include <stdio.h> #include <string.h> #include <openssl/evp.h> #includ

实验一 密码引擎-2-OpenEuler-OpenSSL测试(Linux与OpenEuler)

实验一 密码引擎-2-OpenEuler-OpenSSL测试(Linux与OpenEuler) 目录实验一 密码引擎-2-OpenEuler-OpenSSL测试(Linux与OpenEuler)Base64调用Linux在openeuler中复现SM2调用Linux在openeuler中复现SM3调用Linux在openeuler中复现SM4调用在openeuler中复现 在Ubuntu编写代码测试OpenS

实验一 密码引擎-2-OpenEuler-OpenSSL测试

在Ubuntu编写代码测试OpenSSL功能,包含Base64,SM2,SM3,SM4算法的调用,然后在OpenEuler中重现 提交代码链接和运行结果截图 base64 1、在ubuntu中实现base64 base64.c #include <stdio.h> #include <string.h> #include <openssl/evp.h> #include <openssl/x509.h> //Base64编码 voi

密码引擎-2-OpenEuler-OpenSSL测试

一、执行命令将Base64.c编译成可执行文件Base64 #include <stdio.h> #include <string.h> #include <openssl/evp.h> #include <openssl/x509.h> //Base64编码 void tEVP_Encode() { EVP_ENCODE_CTX *ctx; ctx = EVP_ENCODE_CTX_new(); //EVP编码结构体 unsigned

visual studio 2019内调用OpenSSL3.0

OpenSSL3.0是在去年升级的,而且还改的很狠,不怎么兼容之前的版本,但是网上能找到的教程又比较早,就很痛苦,好歹摸索出来能跑不报错了,先记一下,可能有多余操作。 1 先安装visual studio 2019和OpenSSL3.0 OpenSSL3.0能正常在控制台进行加解密。 我自己安装时候随手记的内容 https://

基于openssl的EVP对称加密C语言实战案例

根据解密算法代码反推实现加密算法 说明先上已经实现的解密代码加密接口实现参考 说明 为保证项目安全,本文章使用的加解密相关的代码变量szSalt,szKey,nrounds,gszKey等变量为修改后的,未经实际应用检测。自测时打印函数请自行修改。 先上已经实现的解密代码 #include <stri

openssl3.0 加密算法库编程精要 04 - 详解 EVP API 消息摘要

  3.1 消息摘要的概念   消息摘要有好几个名字,比如单项散列函数,Hash 函数,它是一个将可变长度的输入串转换为一个固定长度的输出串的函数。大多数消息摘要算法都是公开的, 它的安全性依赖于它的单向性,如果仅获取到消息摘要的结果,想要从结果反推出原文几乎是不可能的事情。并且对

对‘EVP_MD_CTX_create’未定义的引用

最近在进行net-snmp agent开发,编译应用程序时报错,做一个记录: 编译命令: arm-linux-gcc  -g -O2 -fno-strict-aliasing -DNETSNMP_REMOVE_U64 -g -O2 -Ulinux -Dlinux=linux  -I. -I/XXXXXX/snmp_agent -o snmpTest  snmptest.c  -L/XXXXXX/lib -lnetsnmpmibs -lnetsnmpagent

基于openeuler的openssl编程

------------恢复内容开始------------ 一、编译环境 我下载好之后默认安装了openssl,若未安装的可输入以下命令: wget https://www.openssl.org/source/openssl-1.1.1a.tar.gz tar xvf openssl-1.1.1a.tar.gz cd openssl-1.1.1a ./config make echo ~ sudo make install cd curl-

settime计时器和POSIX timer函数

Linux 系统上最常用的定时器是 setitmer 计时器 settimmmer原型: int setitimer(int which, const struct itimerval *value, struct itimerval *ovalue); which为定时器类型,setitimer支持3种类型的定时器: ITIMER_REAL: 以系统真实的时间来计算,它送出SIGALRM信号。 ITIMER_V

C++版本ECDSA-with-SHA256签名验证

由于项目需要验证签名,这里不做签名,只验签 直接上代码: 使用方法: openssl版本:1.0.2g 其他的自行验证 编译:g++ x509.cpp -o x509 -lssl -lcrypto 执行:./x509 #include <openssl/pem.h> #include <openssl/x509.h> #include <openssl/x509v3.h> #include <cstring> #include <ios

基于 OpenSSL 的 RSA 消息加密及签名实现

众所周知,知名项目 OpenSSL 是屎山中的典范,代码耦合程度高达 99%,项目结构和文档都混乱不堪,自从接口封装成 EVP 之后就彻底放弃治疗了。 当然其实也有更好的选择,比如简单强大的 mbedTLS(PolarSSL) 就深得我心,可惜学校课程要求使用 OpenSSL 完成作业,笔者也只能捏着鼻子硬上了。 下面是

EVP接口生成pem格式的RSA密钥

1、生成pem格式的密钥,并写入文件。   1)创建RSA公钥加密的上下文,id可以指定国密、RSA、椭圆曲线等算法,e为加密对象,可以传NULL,表示默认值 EVP_PKEY_CTX *EVP_PKEY_CTX_new_id(int id, ENGINE *e);   2)对上下文进行初始化 int EVP_PKEY_keygen_init(EVP_PKEY_CTX *ctx);   

OpenSSL实现3DES算法

DES算法目前已经被破解。3DES是做了三次DES加密,虽然安全性能高了,但是加密解密效率降低了。 3DES分组大小为8字节,密钥总长度24字节,密钥1、密钥2、密钥3长度为8字节。 使用3DES的好处是加密和解密使用的是同一套算法,可以只编写一个接口就能完成加解密。 对称加密算法有5中加密模式,分

密码引擎的设计与实现

实验一 密码引擎-0-OpenEuler ECS构建 登录自己的华为云账号,参考附件图示,构建基于鲲鹏和OpenEuler的ECS。 登录进OpenEuler系统,熟悉系统使用,注意OpenEuler安装工具使用sudo yum install ... 登录进OpenEuler系统,提交运行who命令的截图 加分项:使用yum install 安装C编程工具,以

a

- (NSData *)aes128Gcm_DencryptWithKey:(NSData *)key_data iv:(NSData *)iv_data error:(NSError **)error { if (self.length < 16) { // self 需要是 加密数据+tag 的组合 return nil; } // 取后16位作为tag NSData *tagData = [self su

使用OpenSSL_EVP接口完成SHA3和国密SM3散列生成

unsigned char data[128] = "测试EVP SHA3 国密SM3"; int data_size = strlen((char*)data); //初始化EVP上下文 auto ctx = EVP_MD_CTX_new(); /* const EVP_MD *EVP_md5(void); const EVP_MD *EVP_sha1(void); const EVP_MD *EVP_sha224(void

银联支付接口调试

最近一周做银联的交易接口,踩了不少的坑。现在把代码全部奉上。   #include <io.h> #include <time.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <fcntl.h> #include <sys/stat.h> #include <unistd.h> #include <tchar.

openssl-EVP_md5()

#include <stdio.h> #include <stdint.h> #include <strings.h> #include <openssl/dh.h> #include <openssl/evp.h> static void hex_print(const char *name, const unsigned char *buf, size_t len){ printf("%s: ", nam

PEM_read_RSA_PUBKEY error “Expecting: PUBLIC KEY”

PEM_read_RSA_PUBKEY error “Expecting: PUBLIC KEY”   #include <stdio.h> #include <openssl/evp.h> #include <openssl/rsa.h> #include <openssl/bio.h> #include <openssl/pem.h> #define SECFILE "sec.pem" #define PUBFILE

Amazon Linux下解决shadowsocks服务端EVP_CIPHER_CTX_cleanup() 函数报错

title: Amazon Linux下解决shadowsocks服务端EVP_CIPHER_CTX_cleanup() 函数报错 date: 2019-06-24 15:30:08 categories: Linux tags: shdowsocks Amazon Linux下解决shadowsocks服务端EVP_CIPHER_CTX_cleanup() 函数报错 Amazon Linux的openssl版本高于1.1.0以上版本,