东莞网站免费制作emlog to wordpress

news/2025/10/1 18:55:45/文章来源:
东莞网站免费制作,emlog to wordpress,做qq代刷网站,带引导页的网站文章目录 openssl3.2 - 测试程序的学习 - test\aesgcmtest.c概述笔记能学到的流程性内容END openssl3.2 - 测试程序的学习 - test\aesgcmtest.c 概述 openssl3.2 - 测试程序的学习 aesgcmtest.c 工程搭建时, 发现没有提供 test_get_options(), cleanup_tests(), 需要自己补上… 文章目录 openssl3.2 - 测试程序的学习 - test\aesgcmtest.c概述笔记能学到的流程性内容END openssl3.2 - 测试程序的学习 - test\aesgcmtest.c 概述 openssl3.2 - 测试程序的学习 aesgcmtest.c 工程搭建时, 发现没有提供 test_get_options(), cleanup_tests(), 需要自己补上才能编译过. 笔记 /*! * \fle D:\my_dev\my_local_git_prj\study\openSSL\nmake_test\test_c\prj_004_aesgcmtest.c\aesgcmtest.c //** Copyright 2019-2021 The OpenSSL Project Authors. All Rights Reserved.** Licensed under the Apache License 2.0 (the License). You may not use* this file except in compliance with the License. You can obtain a copy* in the file LICENSE in the source distribution or at* https://www.openssl.org/source/license.html*/#include my_openSSL_lib.h#include openssl/evp.h// 最少要包含测试工具的头文件 #include testutil.h// openssl提供的.\test\*.c, 有的没有test_get_options(), cleanup_tests() // 自己补充函数, 编译过就行, 不管内存泄漏了// 需要将其他实现中的enum定义拷贝过来 typedef enum OPTION_choice {OPT_ERR -1,OPT_EOF 0,OPT_CONFIG_FILE,OPT_TEST_ENUM } OPTION_CHOICE;const OPTIONS* test_get_options(void) {// 这个函数返回不能为空, 从其他有实现的函数中拷贝一个实现过来, 否则有崩溃报错static const OPTIONS test_options[] {OPT_TEST_OPTIONS_DEFAULT_USAGE,{ config, OPT_CONFIG_FILE, ,The configuration file to use for the libctx },{ NULL }};return test_options; }void cleanup_tests(void) {}static const unsigned char gcm_key[] {0xee, 0xbc, 0x1f, 0x57, 0x48, 0x7f, 0x51, 0x92, 0x1c, 0x04, 0x65, 0x66,0x5f, 0x8a, 0xe6, 0xd1, 0x65, 0x8b, 0xb2, 0x6d, 0xe6, 0xf8, 0xa0, 0x69,0xa3, 0x52, 0x02, 0x93, 0xa5, 0x72, 0x07, 0x8f }; static const unsigned char gcm_iv[] {0x99, 0xaa, 0x3e, 0x68, 0xed, 0x81, 0x73, 0xa0, 0xee, 0xd0, 0x66, 0x84 }; static const unsigned char gcm_pt[] {0xf5, 0x6e, 0x87, 0x05, 0x5b, 0xc3, 0x2d, 0x0e, 0xeb, 0x31, 0xb2, 0xea,0xcc, 0x2b, 0xf2, 0xa5 }; static const unsigned char gcm_aad[] {0x4d, 0x23, 0xc3, 0xce, 0xc3, 0x34, 0xb4, 0x9b, 0xdb, 0x37, 0x0c, 0x43,0x7f, 0xec, 0x78, 0xde }; static const unsigned char gcm_ct[] {0xf7, 0x26, 0x44, 0x13, 0xa8, 0x4c, 0x0e, 0x7c, 0xd5, 0x36, 0x86, 0x7e,0xb9, 0xf2, 0x17, 0x36 }; static const unsigned char gcm_tag[] {0x67, 0xba, 0x05, 0x10, 0x26, 0x2a, 0xe4, 0x87, 0xd7, 0x37, 0xee, 0x62,0x98, 0xf7, 0x7e, 0x0c };static int do_encrypt(unsigned char *iv_gen, unsigned char *ct, int *ct_len,unsigned char *tag, int *tag_len) {int ret 0;EVP_CIPHER_CTX *ctx NULL;int outlen;unsigned char outbuf[64];*tag_len 16;ret TEST_ptr(ctx EVP_CIPHER_CTX_new()) TEST_true(EVP_EncryptInit_ex(ctx, EVP_aes_256_gcm(), NULL, NULL,NULL) 0) TEST_true(EVP_EncryptInit_ex(ctx, NULL, NULL, gcm_key,iv_gen ! NULL ? NULL : gcm_iv) 0) TEST_true(EVP_EncryptUpdate(ctx, NULL, outlen, gcm_aad,sizeof(gcm_aad)) 0) TEST_true(EVP_EncryptUpdate(ctx, ct, ct_len, gcm_pt,sizeof(gcm_pt)) 0) TEST_true(EVP_EncryptFinal_ex(ctx, outbuf, outlen) 0) TEST_int_eq(EVP_CIPHER_CTX_get_tag_length(ctx), 16) TEST_true(EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_AEAD_GET_TAG, 16,tag) 0) TEST_true(iv_gen NULL|| EVP_CIPHER_CTX_get_original_iv(ctx, iv_gen, 12));EVP_CIPHER_CTX_free(ctx);return ret; }static int do_decrypt(const unsigned char *iv, const unsigned char *ct,int ct_len, const unsigned char *tag, int tag_len) {int ret 0;EVP_CIPHER_CTX *ctx NULL;int outlen, ptlen;unsigned char pt[32];unsigned char outbuf[32];ret TEST_ptr(ctx EVP_CIPHER_CTX_new()) TEST_true(EVP_DecryptInit_ex(ctx, EVP_aes_256_gcm(), NULL,NULL, NULL) 0) TEST_true(EVP_DecryptInit_ex(ctx, NULL, NULL, gcm_key, iv) 0) TEST_int_eq(EVP_CIPHER_CTX_get_tag_length(ctx), 16) TEST_true(EVP_DecryptUpdate(ctx, NULL, outlen, gcm_aad,sizeof(gcm_aad)) 0) TEST_true(EVP_DecryptUpdate(ctx, pt, ptlen, ct,ct_len) 0) TEST_true(EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_AEAD_SET_TAG,tag_len, (void *)tag) 0) TEST_true(EVP_DecryptFinal_ex(ctx, outbuf, outlen) 0) TEST_mem_eq(gcm_pt, sizeof(gcm_pt), pt, ptlen);EVP_CIPHER_CTX_free(ctx);return ret; }static int kat_test(void) {unsigned char tag[32];unsigned char ct[32];int ctlen 0, taglen 0;return do_encrypt(NULL, ct, ctlen, tag, taglen) TEST_mem_eq(gcm_ct, sizeof(gcm_ct), ct, ctlen) TEST_mem_eq(gcm_tag, sizeof(gcm_tag), tag, taglen) do_decrypt(gcm_iv, ct, ctlen, tag, taglen); }static int badkeylen_test(void) {int ret;EVP_CIPHER_CTX *ctx NULL;const EVP_CIPHER *cipher;ret TEST_ptr(cipher EVP_aes_192_gcm()) TEST_ptr(ctx EVP_CIPHER_CTX_new()) TEST_true(EVP_EncryptInit_ex(ctx, cipher, NULL, NULL, NULL)) TEST_int_le(EVP_CIPHER_CTX_set_key_length(ctx, 2), 0);EVP_CIPHER_CTX_free(ctx);return ret; }static int ivgen_test(void) {unsigned char iv_gen[16];unsigned char tag[32];unsigned char ct[32];int ctlen 0, taglen 0;return do_encrypt(iv_gen, ct, ctlen, tag, taglen) do_decrypt(iv_gen, ct, ctlen, tag, taglen); }int setup_tests(void) {ADD_TEST(kat_test);ADD_TEST(badkeylen_test);ADD_TEST(ivgen_test);return 1; } 能学到的流程性内容 do_encrypt() do_decrypt() 这官方测试代码, 如果只看流程性的内容, 比网上找到的代码片段规范多了. END

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/924161.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2025 年传感器厂家 TOP 企业品牌推荐排行榜,磁致伸缩 / 防爆 / 防水 / 隔爆 / 线性 / 矿用 / 直线 / 油缸位移传感器 / 液位传感器公司推荐!

引言当前传感器行业发展迅速,市场上品牌与产品种类繁多,给企业和采购者带来了不小的选择难题。一方面,不同品牌的传感器在技术水平、产品质量、服务能力等方面存在较大差异,部分产品难以满足工业生产中对高精度、稳…

2025 年热转印花膜厂家 TOP 企业品牌推荐排行榜,硅胶 / 五金 / 塑胶 / ABS / 涂料桶 / PP / 水杯 / 温变 / 冰变热转印花膜加工厂推荐

引言在热转印行业蓬勃发展的当下,热转印花膜作为关键材料,其市场需求日益增长。然而,行业内却存在着诸多问题,让采购者面临不少困扰。一方面,部分厂家为追求利润,在生产过程中偷工减料,导致产品质量参差不齐,有…

2025 年生物除臭设备厂家 TOP 品牌企业推荐排行榜揭晓:印染厂污水 / 食品厂污水 / 污水处理厂 / 污水泵站 / 污水站 / 餐厨垃圾 / 屠宰场 / 厨余垃圾生物除臭设备公司推荐

引言随着环保意识的不断提升,各行业对臭气治理的需求日益迫切。污水处理厂、垃圾中转站、畜牧养殖场、食品加工厂等领域,因生产经营过程中产生的恶臭气体,不仅影响周边居民生活环境,还可能对工作人员的身体健康造成…

JUC:读写锁

无锁 => 独占锁 => 读写锁 => 邮戳锁 ReentrantLock, ReentrantReadWriteLock, StampedLock 4.12.1 面试题Java有哪些锁? 对于读写锁,锁饥饿问题是什么? 有没有比读写锁更快的锁?邮戳锁 StampedLock知道码…

2025 年舞台厂家 TOP 品牌企业权威推荐榜单,铝合金舞台、活动舞台、快装舞台、舞台架、折叠舞台、演出舞台、演唱会舞台桁架、舞台设计公司推荐

引言当前舞台行业发展迅速,各类演出、展览、庆典活动对舞台设备的需求日益增长,但行业内却存在诸多问题。许多舞台厂家缺乏完整的产业链,依赖外部采购原材料和配件,不仅难以把控产品质量,还容易受供应链波动影响,…

大连网站设计九即问仟亿科技在电脑上做二建题 哪个网站好

Hi,大家好我是tom,I am back.今天要给大家讲讲linux系统一些性能相关命令。 1.fdisk 磁盘管理 是一个强大的危险命令,所有涉及磁盘的操作都由该命令完成,包括:新增磁盘、增删改磁盘分区等。 1.fdisk -l 查看磁盘分区情况 Disk /dev/sda: 27.8…

2025 年点胶机厂家 TOP 企业推荐排行榜,自动 / 果冻胶 / 无痕内衣 / 烫钻 / 珠宝热熔胶 / 水钻热熔胶 / 亮片热熔胶 / 金葱粉热熔胶点胶机推荐这十家公司!

引言在当前的工业生产领域,点胶机作为重要的自动化设备,其性能与质量直接影响着生产效率和产品品质。然而,市场上点胶机源头厂家数量众多,产品种类繁杂,技术水平参差不齐,让不少企业在选购时陷入困境。部分厂家缺…

2025 年知识库应用工具系统平台推荐排行榜,企业 / 行业 / 专家 / 问答 / 智能 / 培训 / 协同 / 办公 / 内部 / 外部 / 个人 / 客服 / 营销知识库应用软件推荐!

引言在当今数字化飞速发展的时代,企业面临着海量信息的管理与利用难题。知识库应用成为了解决这一困境的关键手段,它能够帮助企业整合知识资源、提升员工工作效率、促进团队协作以及为决策提供有力支持。然而,市场上…

2025 年移民服务公司性价比排行:美国、加拿大等国 TOP 机构,综合费用与服务质量的考量!

在全球化浪潮的推动下,移民已成为众多家庭寻求新发展机遇、改善生活环境、为子女提供优质教育资源的重要途径。然而,移民市场的繁荣也伴随着诸多问题。目前,市场上移民公司数量众多、鱼龙混杂,服务质量参差不齐。部…

2025 年水泥墩公司推荐最新榜单白皮书发布,圆形 / 方形 / 光伏水泥墩 / 围挡水泥墩 / 护栏水泥墩 / 交通水泥墩 / 防撞水泥墩源头厂家推荐

引言水泥墩作为基础建材,在市政基建、光伏电站等领域应用广泛,需求旺盛。但行业厂家众多,产品质量参差不齐,让采购者难以抉择。 部分厂家为利润偷工减料,导致产品强度不足、耐久性差,难抵恶劣环境;一些厂家工艺…

实用指南:嵌入式硬件——I.MX6ULL EPIT(增强型周期中断定时器)

实用指南:嵌入式硬件——I.MX6ULL EPIT(增强型周期中断定时器)pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "…

2025 年乡墅平台 TOP 服务机构平台推荐排行榜 ,乡墅设计 / 品牌 / 加盟 / 农村自建房 / 建别墅 / 一站式建 / 湖南 / 长沙乡墅服务商推荐这十家公司!

在乡村振兴战略持续推进的当下,乡墅市场迎来了快速发展的契机,越来越多的城市精英选择回乡建造属于自己的理想居所。然而,当前乡墅行业却存在着诸多问题。市场上品牌众多,资质参差不齐,部分企业缺乏专业的设计团队…

2025 年美缝剂厂家 TOP 企业品牌推荐排行榜,深度剖析美缝剂公司实力与产品优势!

在如今的装修市场中,美缝剂作为提升瓷砖铺贴美观度和耐用性的重要材料,需求日益增长。然而,美缝剂行业却存在诸多问题,让消费者和合作方难以抉择。市场上产品质量参差不齐,部分厂家为追求利润,使用劣质原料生产,…

深入理解 Qt 元对象系统:QMetaEnum 的应用与实践 - 指南

深入理解 Qt 元对象系统:QMetaEnum 的应用与实践 - 指南pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas…

2025 年褐藻寡糖厂家 TOP 企业品牌推荐排行榜,农业级 / 食品级 / G 型 / 化妆品级 / 饲料级 / 肥料用褐藻寡糖 / 褐藻寡糖钾盐 / 水剂 / 粉剂 / M 段公司推荐!

引言随着海洋生物产业的快速发展,褐藻寡糖凭借其在农肥、饲料、食品、化妆品及医药等多个领域的广泛应用前景,逐渐成为市场关注的焦点。然而,当前褐藻寡糖行业仍面临诸多问题,市场上品牌数量不断增多,但产品质量参…

2025换热器厂家最新推荐白皮书,不锈钢 / 钛 / 哈氏合金 / 碳钢 / 衬四氟 / 列管式 / 螺旋板 / 管壳式 / 缠绕式 / 复合材料换热器公司推荐!

在化工、环保、制药等众多行业的生产流程中,不锈钢、钛、哈氏合金、碳钢、衬四氟等不同材质,以及列管式、螺旋板、管壳式、缠绕式、复合材料等各类换热器,作为关键设备其性能与质量直接影响着生产效率、能源消耗以及…

网站建站中关键字搜索怎么弄万博法务网站

转载自 Java8-本地缓存这里我将会给大家演示用ConcurrentHashMap类和lambda表达式实现一个本地缓存。因为Map有一个新的方法可以在key为Null的时候自动计算一个新的value值。非常完美的实现cache。来看下代码:12345678910111213141516publicstatic void main(String…

2025 年钢球厂家 TOP 企业品牌推荐排行榜,轴承 / 碳 / 精密 / 汽配 / 440C 不锈钢球 / 420 不锈钢球 / 304 不锈钢球 / 316L 不锈钢球制造商推荐这十家公司!

在钢球行业,随着市场需求的不断增长,各类钢球服务商如雨后春笋般涌现,但行业内也存在着诸多问题。产品质量参差不齐是突出问题之一,部分服务商为追求利润,在原材料选择和生产工艺上偷工减料,导致钢球精度不足、耐…

2025 年橡胶软接头厂家 TOP 企业品牌推荐排行榜,法兰 / 可曲挠 / 挠性 / KXT / 耐油 / EPDM / 耐腐蚀 / 三元乙丙橡胶软接头 / 橡胶柔性软接头公司推荐!

在橡胶软接头行业,质量管控与服务体系的缺失已成为制约产业升级的关键瓶颈。具体表现为:产品质量两极分化:部分企业为压缩成本,违规采用再生胶、回收料等劣质原料,导致产品出现密封性失效、老化周期缩短等问题,严…

IELTS-G Writing Task1 informal letters

Fisrt sentenceI hope you are well I hope this letter finds you well I hope you enjoyed I am just writing to let you know that I am just writing to thank you for ... I just wanted to write a quick lette…