硬件加密卡测试(2):高性能对比测试

这次我们对加密卡进行性能对比测试,通过在不同场景下,对比BC库软算法以及加密卡的表现,来看加密卡的实际运用情况如何。 调用代码不做任何额外优化,均使用JCE方式来调用相关处理过程。 测试环境: 加密卡:SJK1828服务器:Intel(R) Xeon(R) CPU E5-2660 v2 @ 2.20GHz *2 40线程;32GB内存 模拟任务:SM2加签,数据长度4800字节。 实现 并发线程数 任务总数 任务间延迟 执行时间(ms) CPU占用率 TPS BC库软算法 1 50000 0 43616 3.5% 1146 BC库软算法 100 50000 15 8438 20% 5925 B …

硬件加密卡测试(1):设备安装与验证

LINUX下安装设备驱动 操作系统基础信息:centos 7 X64 本次测试加密卡设备:SJK1828(三未信安) 一.编译驱动 1.在root用户权限执行:./INSTALL swcsm.drv2.正常完后会产生文件swcsm.ko 以及Module.symvers文件,Module.symvers文件记录了驱动导出接口(默认不导出)。编译过程如果出错,请参考出错提示信息进行处理。3.加载驱动使用insmod命令,卸载使用rmmod命令。 二.复制动态库 cp libswsds_2008.so_v5.6.9.0_x64 /lib64/libswsds_2008.socp libswsds. …

国密SM4性能相关参考资料

收集的若干SM4性能相关的参考资料 海泰速度|10Gb每秒!SM4的单核“心” 赋能海量数据安全“闪”护 Arm 公司贡献商密软件栈 SIG,助力 SM4 性能提升 40 倍 坚持自主可控,长安链ChainMaker全面拥抱国密的技术实践 腾讯云:安全合规!专有云发布“云平台商用密码应用解决方案” 宝兰德BES在BGMProvider国密库上的实践 长安链:密码算法引擎介绍和使用手册(包括多个国密库性能对比) 16.3. 不同引擎密码算法性能对比 软硬件环境 测试方法 测试结果 密码库 签名 验证 加密 解密 同济库 3194 691 680 984 北大gmssl 32793 1 …

JAVA注解处理器

因为无法忍受JAVA对于上层业务领域的某个特性的粗糙支持,开始从JAVA里找补救方法,兜兜转转来到了注解处理器的领地。 以前只是使用常规的JAVA注解来进行资源标记等元数据标记能力,对于基于注解处理器的高级用法,是比较抵触的,个人认为破坏和传染了研发环境的生态纯净度,绑架了依赖方。 但是目前遇到的这个问题,可能只有注解处理器能够比较优雅的解决了。先不管那么多了,搞定方案再说。 不再重复粘贴,直接链接一篇比较全面的文章:https://blog.csdn.net/u014454538/article/details/122531293 常见问题(1):报错【服务配置文件不正确】 [ERROR] …

CAT快速部署实战

CAT是知名的实时监控系统,在美团,携程,平安银行,陆金所等,有广泛的应用。我们来搭建一套实际的CAT环境,然后部署一套简单的分布式应用,通过性能测试,来观察整个分布式应用的表现。环境我们一如既往选择华为云。 直接下载部署包:https://github.com/dianping/cat/releases 我们选择3.1.0版本的cat-home.war 第一:创建CAT数据库 创建RDS数据库,我们直接使用华为云提供的数据库服务了,创建2C4G实例,节点名我们叫CAT-MYSQL,IP地址手工指定192.168.0.230,MYSQL版本选择5.7 创建好之后,创建cat数据库,初始化脚本用 …

关于JAR文件不可不知的一点事情

JAR文件是在java研发中一个最常用,但是经常被忽略的结构。我们的代码产出很多都会被编译为class文件,并打包为jar包,但是除了class文件,jar包还有哪些结构特征呢?META-INF目录?service目录?MANIFEST.MF文件等等?让我们来系统的挖掘下jar文件的结构以及其设计理念和功能规格等。 关于JAR文件的最准确材料与介绍在哪里?JAVA官方网站。 我们来看这两个资料,一个是比较早的JAVA8版本的JAR文件规范,一个是最新的JAVA18版本的JAR文件规范。 Packaging Programs in JAR Files:JAVA8; JAR File Specif …

Windows下搭建Redis单元测试环境以及Redis集群环境

一、单元测试集成单节点RedisServer 在进行REDIS相关的开发测试的时候,往往需要在本地搞REDIS服务。 如果是WINDOWS环境,单机的话,集成在单元测试里面,可以使用如下坐标,引入REDIS服务。 然后通过以下语句创建RedisServer实例 需要注意的是,在其他的参考材料中,跟以上语句会有所区别,主要在于对于maxheap的设置,部分内存比较小的机器如果不加这个限定,会启动失败,有这个参数,就好了。 二、Windows本地搭建Redis集群 以上单节点RedisServer在有些时候不够用。比如要验证集群相关的代码或者场景时,还是需要使用真实的Redis集群的,这个时候,如 …

关于JVM垃圾收集器相关的一点事情

最近在翻JAVA官方的一些文档。关于JAVA垃圾收集器GC的内容,是重点之一。 GC名称 中文名称 启用参数 特性 备注 Serial Collector 串行收集器 -XX:+UseSerialGC 单线程垃圾回收 Parallel Collector 并行收集器 -XX:+UseParallelGC 多线程垃圾回收 Garbage-First(G1) Garbage Collector G1收集器 -XX:+UseG1GC 延迟可控垃圾回收 The Z Garbage Collector Z收集器 -XX:+UseZGC 低延迟垃圾回收 用于延迟敏感型 至于大家常提起的CMS,过渡阶段的产 …

JAVA中阻塞队列BlockingQueue接口方法的多场景支持设计

BlockingQueue是JDK中的常用接口类型,对于队列来讲,最常用的操作当属元素的入队与出队,而BlockQueue虽然叫阻塞队列,但是却通过对于入队和出队操作的分场景设计,实现了对多种场景需求的满足。需要阻塞的,需要抛出异常的,还是需要等待一个时间间隔不满足再失败的,都完美支持。 场景需求 抛出异常的 返回特定值的 阻塞的 超时的 插入元素(入队) boolean add(e) boolean offer(e) void put(e) boolean offer(e, time, unit) 移除元素(出队) boolean remove(Object o) E poll() E ta …