首页 > 其他分享 >实验二——验收三

实验二——验收三

时间:2023-06-04 21:14:52浏览次数:42  
标签:key sm4 String filePath cmd 验收 实验 commandArr

验收三

1. 你们小组项目中为了保护数据资产用了什么密码算法?
2. 如果用到了对称算法,提交相关生成密钥和对数据加密的代码截图
3. 如果用到了非对称算法,提交相关生成密钥对和对数据加密,签名验签的代码截图
4. 如果用到了其他算法,提交相关的代码截图

1.算法使用

①口令哈希值:sm3

②密钥生成:gmssl库中的rand()指令进行生成

③公文加解密:sm4

2.sm4介绍

代码:

public static void SM4encrypt(String filePath,String key) throws IOException {
			String cmd = "gmssl sm4 -cbc -encrypt -in " + filePath + " -out " + filePath + ".en -key " + key + " -iv " + key;
			RunCmd.run(cmd);
		}
		
public static void SM4decrypt(String filePath,String key) throws IOException {
			String cmd = "gmssl sm4 -cbc -decrypt -in " + filePath + ".en -out " + filePath + " -key " + key + " -iv " + key;
			RunCmd.run(cmd);
		}

数据库:



存储为加密后文件

用户下载后解密为明文:

4.sm3介绍

public static String SM3(String data) throws IOException {
			List<String> commandArr = new ArrayList<>();
			commandArr.add("/bin/sh");
			commandArr.add("-c");
			String cmd = "echo "+data+" | gmssl sm3";
			commandArr.add(cmd);
			String result = RunCmd.run(commandArr.toArray(new String[commandArr.size()]));
			System.out.println(result);
			return result;
		}

标签:key,sm4,String,filePath,cmd,验收,实验,commandArr
From: https://www.cnblogs.com/1314xhuan/p/17456315.html

相关文章

  • 计算机网络 实验一
    实验一vlan的创建与划分一、实验目的: 1.了解vlan的工作原理;2.学习基于端口划分vlan的方法;3.了解跨交换机的相同vlan之间的通信;4.进一步学习交换机端口的配置命令。二、实验原理:VLAN(VirtualLocalAreaNetwork)是一种虚拟局域网技术,允许将物理网络划分为逻辑上独立的多个虚拟网......
  • 实验一 密码引擎-1-OpenEuler-OpenSSL编译
    一、任务详情安装Ubuntu和OpenEuler虚拟机下载最新的OpenSSL源码(1.1版本)用自己的8位学号建立一个文件夹,cd你的学号,用pwd获得绝对路径参考https://www.cnblogs.com/rocedu/p/5087623.html先在Ubuntu中完成OpenSSL编译安装,然后在OpenEuler中重现./config--prefix=..(......
  • 实验一 密码引擎-2-电子钥匙功能测试
    实验一密码引擎-3-电子钥匙功能测试1解压“龙脉密码钥匙驱动实例工具等”压缩包2在Ubuntu中运行“龙脉密码钥匙驱动实例工具等\mToken-GM3000\skf\samples\linux_mac”中例程,提交运行结果截图3加分项:运行“龙脉密码钥匙驱动实例工具等\mToken-GM3000\skf\samples\windows......
  • 实验一 密码引擎-1-OpenEuler-OpenSSL编译
    安装Ubuntu和OpenEuler虚拟机下载最新的OpenSSL源码(1.1版本)用自己的8位学号建立一个文件夹,cd你的学号,用pwd获得绝对路径参考https://www.cnblogs.com/rocedu/p/5087623.html先在Ubuntu中完成OpenSSL编译安装,然后在OpenEuler中重现./config--prefix=..(学号目录的绝对路......
  • 实验一 密码引擎-2-电子钥匙功能测试
    0参考附件中的视频1解压"资源"中“龙脉密码钥匙驱动实例工具等”压缩包2在Ubuntu中运行“龙脉密码钥匙驱动实例工具等\mToken-GM3000\skf\samples\linux_mac”中例程,提交运行结果截图3加分项:运行“龙脉密码钥匙驱动实例工具等\mToken-GM3000\skf\samples\windows”中例程,......
  • 实验5 文件应用编程
    实验任务6源代码1withopen('data6.csv','r',encoding='gbk')asf:2data=list(f.readlines())3data=[i.strip('\n')foriindata]45importdecimal6decimal.getcontext().rounding='ROUND_HALF_UP'......
  • 实验二验收3
    实验二验收3......
  • 实验二报告
    电子传输系统安全电子传输系统安全-进展1-上周任务完成情况(代码链接,所写文档等)-本周计划上周任务将上学期电子公文传输系统重新调试通过部署安装gmssl使用gmssl测试证书学习gmssl上周任务完成情况学号姓名任务完成情况陈子昂学习gmssl中的证书实现100%......
  • 实验报告
    密码引擎的设计与实现实验一密码引擎-1-OpenEuler-OpenSSL编译1.下载最新的OpenSSL源码(1.1版本)2.用自己的8位学号建立一个文件夹,cd你的学号,用pwd获得绝对路径3.参考https://www.cnblogs.com/rocedu/p/5087623.html先在Ubuntu中完成OpenSSL编译安装,然后在OpenEuler中......
  • 实验报告
    实验一-密码引擎-加密API一、研究资料API:应用程序接口(API:ApplicationProgramInterface)是一组定义、程序及协议的集合,通过API接口实现计算机软件之间的相互通信。API的一个主要功能是提供通用功能集。程序员通过使用API函数开发应用程序,从而可以避免编写无用程序,以减轻编......