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

实验二 电子传输系统安全-进展2

上周任务完成情况(代码链接,所写文档等)

  • 重新调通电子公文传输系统
  • 部署gmssl
  • 学习生成SM2证书
  • 学习gmssl中的CTLS实现
  • 将数据库从SqlServer迁移到Mysql
  • 调试Mysql驱动
  • 学习Bouncy Castle

代码链接

Mysql表设计

/*
Navicat MySQL Data TransferSource Server         : localhost
Source Server Version : 50555
Source Host           : localhost:3306
Source Database       : gwlzxtTarget Server Type    : MYSQL
Target Server Version : 50555
File Encoding         : 65001Date: 2022-05-29 17:13:08
*/SET FOREIGN_KEY_CHECKS=0;-- ----------------------------
-- Table structure for admin
-- ----------------------------
DROP TABLE IF EXISTS `admin`;
CREATE TABLE `admin` (`id` int(11) NOT NULL AUTO_INCREMENT,`name` varchar(50) NOT NULL,`pwd` varchar(50) DEFAULT NULL,`type` varchar(50) DEFAULT NULL,`status` varchar(50) DEFAULT NULL,`enpwd` varchar(64) DEFAULT NULL,`enabled` varchar(255) DEFAULT '0',PRIMARY KEY (`id`),UNIQUE KEY `name` (`name`)
) ENGINE=InnoDB AUTO_INCREMENT=1024 DEFAULT CHARSET=utf8;-- ----------------------------
-- Records of admin
-- ----------------------------
INSERT INTO `admin` VALUES ('1', 'admi', '123', '1', '1', '6e0f9e14344c5406a0cf5a3b4dfb665f87f4a771a31f7edbb5c72874a32b2957', '1');
INSERT INTO `admin` VALUES ('2', 'tutu', '123', '2', '1', '6e0f9e14344c5406a0cf5a3b4dfb665f87f4a771a31f7edbb5c72874a32b2957', '1');
INSERT INTO `admin` VALUES ('1005', 'lhui', '123', '3', '1', '6e0f9e14344c5406a0cf5a3b4dfb665f87f4a771a31f7edbb5c72874a32b2957', '1');
INSERT INTO `admin` VALUES ('1006', 'niuna', '123', '2', '拟稿人', '6e0f9e14344c5406a0cf5a3b4dfb665f87f4a771a31f7edbb5c72874a32b2957', '1');
INSERT INTO `admin` VALUES ('1007', 'zhang', '123', '3', '1', '6e0f9e14344c5406a0cf5a3b4dfb665f87f4a771a31f7edbb5c72874a32b2957', '1');
INSERT INTO `admin` VALUES ('1009', 'ww', '123', '3', '2', '6e0f9e14344c5406a0cf5a3b4dfb665f87f4a771a31f7edbb5c72874a32b2957', '1');
INSERT INTO `admin` VALUES ('1012', 'yld', '123', '3', '8', '6e0f9e14344c5406a0cf5a3b4dfb665f87f4a771a31f7edbb5c72874a32b2957', '1');
INSERT INTO `admin` VALUES ('1014', 'lili', '123', '3', '2', '6e0f9e14344c5406a0cf5a3b4dfb665f87f4a771a31f7edbb5c72874a32b2957', '1');
INSERT INTO `admin` VALUES ('1015', 'lucy', '123123', '2', '拟稿人', 'c68ac63173fcfc537bf22f19a425977029d7dd35ddc5d76b36e58af222dfda39', '1');
INSERT INTO `admin` VALUES ('1016', 'sys', 'sys', '1', '管理员', '87cbeedaba31cfc108bff03a619bff198321a46235d4d687790605e505c7fd48', '1');
INSERT INTO `admin` VALUES ('1017', 'test', 'test', '3', '8', '55e12e91650d2fec56ec74e1d3e4ddbfce2ef3a65890c2a19ecf88a307e76a23', '0');
INSERT INTO `admin` VALUES ('1023', 'QQ', '123', '3', '8', '6e0f9e14344c5406a0cf5a3b4dfb665f87f4a771a31f7edbb5c72874a32b2957', '1');-- ----------------------------
-- Table structure for dep
-- ----------------------------
DROP TABLE IF EXISTS `dep`;
CREATE TABLE `dep` (`id` int(11) NOT NULL AUTO_INCREMENT,`name` varchar(50) NOT NULL,PRIMARY KEY (`id`),UNIQUE KEY `name` (`name`)
) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=utf8;-- ----------------------------
-- Records of dep
-- ----------------------------
INSERT INTO `dep` VALUES ('14', '1');
INSERT INTO `dep` VALUES ('13', 'admi');
INSERT INTO `dep` VALUES ('1', '信息部');
INSERT INTO `dep` VALUES ('2', '外语学院');
INSERT INTO `dep` VALUES ('8', '院领导');-- ----------------------------
-- Table structure for document
-- ----------------------------
DROP TABLE IF EXISTS `document`;
CREATE TABLE `document` (`id` int(11) NOT NULL AUTO_INCREMENT,`admin` varchar(50) DEFAULT NULL,`title` varchar(200) DEFAULT NULL,`content` text,`mode` varchar(50) DEFAULT NULL,`dep` varchar(50) DEFAULT NULL,`dates` datetime DEFAULT NULL,`lingdao` varchar(50) DEFAULT NULL,`taohong` varchar(50) DEFAULT NULL,`enkey` varchar(50) DEFAULT NULL,`encontent` text,PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8;-- ----------------------------
-- Records of document
-- ----------------------------
INSERT INTO `document` VALUES ('10', '2', '通知', '', '普通审批', '2', '2022-05-29 00:00:00', '1', '0', 'ZkhSDHN31KjEd68S', '6c7eee9e5aba6e3f95eaf45983d181147e24ecfee4c0388ad7a7c4c452c04cc8');
INSERT INTO `document` VALUES ('11', '2', '测试', '', '会审审批', '1', '2022-05-29 00:00:00', '1', '0', 'QUKuTFodLJYMIxxS', '2b37c6b64609f102f9bd4ab8a9420284');-- ----------------------------
-- Table structure for examine
-- ----------------------------
DROP TABLE IF EXISTS `examine`;
CREATE TABLE `examine` (`id` int(11) NOT NULL AUTO_INCREMENT,`document` int(11) DEFAULT NULL,`dep` int(11) DEFAULT NULL,`state` varchar(50) DEFAULT NULL,PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8;-- ----------------------------
-- Records of examine
-- ----------------------------
INSERT INTO `examine` VALUES ('10', '10', '8', '1');
INSERT INTO `examine` VALUES ('11', '11', '8', '1');

在这里插入图片描述

Mysql驱动调试

import java.sql.*;
public class SQLConnection {static String dbDriver="com.mysql.jdbc.Driver";		static{try{//Class.forName(dbDriver).newInstance(); 
//        	Class.forName("com.mysql.jdbc.Driver"); //      	Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(Exception ex){System.out.print("---------------------om.microsoft.sqlserver.jdbc.SQLServerDri");ex.printStackTrace();}}public static Connection getConn(){try{Class.forName(dbDriver).newInstance(); Connection conn=DriverManager.getConnection("jdbc:mysql://127.0.0.1/gwlzxt?user=root&password=root&useUnicode=true&characterEncoding=GBK");
//        	Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/northwind","root","123");//       	Connection conn=DriverManager.getConnection("jdbc:odbc:twtweb");return conn;}catch(Exception ex){ex.printStackTrace();return null;}}

学习Bouncy Castle

package helper;import org.bouncycastle.jce.provider.BouncyCastleProvider;import cn.hutool.crypto.symmetric.SymmetricCrypto;import javax.crypto.BadPaddingException;
import javax.crypto.Cipher;
import javax.crypto.IllegalBlockSizeException;
import javax.crypto.NoSuchPaddingException;
import javax.crypto.spec.IvParameterSpec;
import javax.crypto.spec.SecretKeySpec;
import java.io.UnsupportedEncodingException;
import java.security.*;
import java.util.Random;public class FourJiaMi {static {Security.addProvider(new BouncyCastleProvider());}// key必须是16字节,即128位final static String key = "sm4demo123456789";// 指明加密算法和秘钥// 加密为16进制,也可以加密成base64/字节数组public static String encryptSm4(String keys, String plaintext) {SymmetricCrypto sm4 = new SymmetricCrypto("SM4/ECB/PKCS5Padding", keys.getBytes());return sm4.encryptHex(plaintext);}// 解密public static String decryptSm4(String keys, String ciphertext) {SymmetricCrypto sm4 = new SymmetricCrypto("SM4/ECB/PKCS5Padding", keys.getBytes());return sm4.decryptStr(ciphertext);}public static String getRandomString(int length) {String str = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";Random random = new Random();StringBuffer sb = new StringBuffer();for (int i = 0; i < length; i++) {int number = random.nextInt(62);sb.append(str.charAt(number));}return sb.toString();}public static void main(String[] args) {String content = "hello sm4";String plain = encryptSm4(key,content);String cipher = decryptSm4(key,plain);System.out.println(plain + "\n" + cipher);}
}

在这里插入图片描述

相关文章:

实验二 电子传输系统安全-进展2

上周任务完成情况&#xff08;代码链接&#xff0c;所写文档等&#xff09; 重新调通电子公文传输系统部署gmssl学习生成SM2证书学习gmssl中的CTLS实现将数据库从SqlServer迁移到Mysql调试Mysql驱动学习Bouncy Castle 代码链接 Mysql表设计 /* Navicat MySQL Data Transfer…...

JavaScript 获取 HTML 中特定父元素下的子元素

JavaScript 获取 HTML 中特定父元素下的子元素 <!DOCTYPE html> <html lang"en"> <head> <meta charset"UTF-8"> <title>查找子元素示例</title> </head> <body><div id"parent"><p&…...

等保服务是一次性服务吗?为什么?怎么理解?

我国等保政策已经严格落地执行&#xff0c;但还有不少企业对于等保服务不是很了解。例如有人问&#xff0c;等保服务是一次性服务吗&#xff1f;为什么&#xff1f;怎么理解&#xff1f;今天我们就来简单回答一下&#xff0c;仅供参考哈&#xff01; 等保服务是一次性服务吗&…...

全网首发UNIAPP功能多的iapp后台源码

全网首发UNIAPP功能多的iapp后台源码&#xff0c;众所周知UN Dev Assist 后台是一款既不免费又不好用的后台今天直接分享。 搭建教程在里面了&#xff0c;自己查看。 源码下载&#xff1a;https://download.csdn.net/download/m0_66047725/89291994 更多资源下载&#xff1a;…...

【搜索方法推荐】高效信息检索方法和实用网站推荐

博主未授权任何人或组织机构转载博主任何原创文章&#xff0c;感谢各位对原创的支持&#xff01; 博主链接 本人就职于国际知名终端厂商&#xff0c;负责modem芯片研发。 在5G早期负责终端数据业务层、核心网相关的开发工作&#xff0c;目前牵头6G算力网络技术标准研究。 博客…...

面试被问到不懂的东西,是直接说不懂还是坚持狡辩一下?

大家好&#xff0c;我是瑶琴呀。 面试被问到不懂的东西&#xff0c;是直接说不懂还是坚持狡辩一下&#xff1f;这个问题可以转变一下&#xff0c;如果你顺利拿到 offer&#xff0c;公司安排的工作跟你之前的技术和经验不匹配&#xff0c;你还愿意干下去吗&#xff1f; 转变一…...

Flutter 中的 StatefulBuilder 小部件:全面指南

Flutter 中的 StatefulBuilder 小部件&#xff1a;全面指南 在Flutter中&#xff0c;StatefulBuilder是一个高效的小部件&#xff0c;它根据给定的构建函数来构建widget&#xff0c;并在组件树中只对需要重新构建的部分进行更新。这使得它在性能优化方面非常有用&#xff0c;特…...

mail发送接口API如何使用?怎么调用接口?

mail发送接口API的性能怎么样&#xff1f;邮件接口发信的技巧&#xff1f; 为了自动化和集成电子邮件功能到应用程序或系统中&#xff0c;开发人员可以使用各种邮件发送接口API。AokSend将介绍如何使用这些API来发送电子邮件&#xff0c;提高效率和灵活性。 mail发送接口API&…...

DOS学习-目录与文件应用操作经典案例-attrib

新书上架~&#x1f447;全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我&#x1f446;&#xff0c;收藏下次不迷路┗|&#xff40;O′|┛ 嗷~~ 目录 一.前言 二.使用 三.案例 一.前言 DOS系统中的attrib命令是一个用于显示或更改文件&#…...

STP简介

一、STP介绍 STP 即生成树协议&#xff08;Spanning Tree Protocol&#xff09;一种网络协议 STP 主要用于解决以太网中的环路问题。在具有冗余链路的网络环境中&#xff0c;环路可能导致广播风暴、重复帧等不良后果&#xff0c;严重影响网络性能和稳定性。STP 通过在交换机之…...

java调用科大讯飞在线语音合成API --内附完整项目

科大讯飞语音开放平台基础环境搭建 1.用户注册 注册科大讯飞开放平台账号 2.注册好后先创建一个自己的应用 创建完成后进入应用可以看到我们开发需要的三个参数&#xff1a;APPID&#xff0c;APISecret&#xff0c;APIKey 3.因为平台提供的SDK中只支持了简单的中英两种语言语音…...

Vuex 页面刷新数据丢失怎么解决

当Vuex中的数据在页面刷新后丢失时&#xff0c;这通常是因为Vuex的状态数据是保存在运行内存中的&#xff0c;页面刷新会导致Vue实例重新加载&#xff0c;进而Vuex中的数据被重置为初始状态。为了解决这个问题&#xff0c;可以采取以下几种方法&#xff1a; 1. 使用浏览器的本…...

如何使用Cloudways搭建WordPress网站

如今&#xff0c;搭建网站已经变得非常简单&#xff0c;这主要得益于开源的CMS建站系统的兴起。即使是不懂编程的人也能轻松搭建自己的网站&#xff0c;这些CMS系统提供了丰富的主题模板和插件&#xff0c;使用户可以通过简单的拖放和配置操作来建立自己的网站。 WordPress是目…...

Lora理解

Parameter-Efficient Fine-Tuning (PEFT) &#xff1a;节约开销的做法&#xff0c;fine-tune少量参数&#xff0c;而不是整个模型&#xff1b; Low-Rank Adaptation (LoRA) &#xff1a;是PEFT的一种&#xff1b;冻结原参数矩阵&#xff0c;只更新2个小参数矩阵。...

EtherCAT总线掉线如何自动重启

EtherCAT通信如果是从站掉线我们可以勾选上自动重启功能如下图所示&#xff1a; 1、自动重启从站 待续........

RabbitMQ有哪些优缺点

一&#xff0c;RabbitMQ有哪些优势 RabbitMQ 作为一款流行的消息队列服务&#xff0c;具有许多优势&#xff0c;这些优势使得它在各种应用场景中都能发挥出色的作用。以下是 RabbitMQ 的一些主要优势&#xff1a; 高可靠性&#xff1a; RabbitMQ 使用持久化功能&#xff0c;无…...

word页眉线如何置于文字上方

然后 敲黑板&#xff0c;点这里...

CTF-web-攻防世界-2

1、newscenter (1)、访问网站&#xff0c;一个搜索栏&#xff0c;像是SQL注入漏洞&#xff0c;brup抓包尝试一下。 输入2/0、一个单引号、两个单引号、一个双引号、两个双引号等。发现只有一个单引号时&#xff0c;响应包content-length字段有非常明显的变化为0。说明有可能是…...

【深度学习】YOLOv8训练,交通灯目标检测

文章目录 一、数据处理二、环境三、训练数据下载 一、数据处理 import traceback import xml.etree.ElementTree as ET import os import shutil import random import cv2 import numpy as np from tqdm import tqdmdef convert_annotation_to_list(xml_filepath, size_width,…...

紧固件松动的危害及原因——SunTorque智能扭矩系统

智能扭矩系统-智能拧紧系统-扭矩自动控制系统-SunTorque 紧固件松动&#xff0c;这一看似微小的机械问题&#xff0c;实际上可能引发一系列严重的后果。在机械设备中&#xff0c;紧固件扮演着至关重要的角色&#xff0c;它们通过紧固作用将各个部件紧密连接在一起&#xff0c;…...

终极OneNote Markdown插件:3步让你的笔记焕然一新

终极OneNote Markdown插件&#xff1a;3步让你的笔记焕然一新 【免费下载链接】NoteWidget Markdown add-in for Microsoft Office OneNote 项目地址: https://gitcode.com/gh_mirrors/no/NoteWidget 还在为OneNote中繁琐的格式调整而烦恼吗&#xff1f;OneNote Markdow…...

终极资源嗅探指南:猫抓浏览器扩展帮你轻松捕获网页媒体资源

终极资源嗅探指南&#xff1a;猫抓浏览器扩展帮你轻松捕获网页媒体资源 【免费下载链接】cat-catch 猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 在当今数字时代&#xff0c…...

茉莉花插件:3分钟搞定Zotero中文文献管理的完整指南

茉莉花插件&#xff1a;3分钟搞定Zotero中文文献管理的完整指南 【免费下载链接】jasminum A Zotero add-on to retrive CNKI meta data. 一个简单的Zotero 插件&#xff0c;用于识别中文元数据 项目地址: https://gitcode.com/gh_mirrors/ja/jasminum 还在为Zotero无法…...

3D高斯渲染技术原理与Lumina架构优化实践

1. 3D高斯渲染技术原理与挑战3D高斯渲染&#xff08;3D Gaussian Splatting&#xff09;作为神经渲染领域的前沿技术&#xff0c;其核心思想是将3D场景表示为一系列带有属性的高斯分布集合。每个高斯点包含位置&#xff08;μ&#xff09;、协方差矩阵&#xff08;Σ&#xff0…...

统信UOS/麒麟KOS截图快捷键失灵?别慌,试试这个后台进程清理大法

统信UOS/麒麟KOS截图快捷键失灵&#xff1f;三步精准定位僵尸进程早上9点&#xff0c;你正急着截取屏幕上的报错信息发给技术同事&#xff0c;却发现按下CtrlAltA后毫无反应——这不是个例。国内主流操作系统如统信UOS、麒麟KOS的用户常会遇到这类"幽灵故障"&#xf…...

Telnet与SSH协议本质区别:从TCP连接到会话安全的底层解析

1. 为什么今天还在聊Telnet和SSH&#xff1f;一个被低估的“连接底层”分水岭 很多人以为Telnet和SSH只是“老古董协议”和“新标准协议”的简单替换关系&#xff0c;甚至觉得“现在谁还用Telnet&#xff1f;直接上SSH不就完了&#xff1f;”——这种认知在日常运维中看似无害&…...

范畴论视角下的概率机器学习:从Giry单子到贝叶斯推理的统一框架

1. 项目概述&#xff1a;当范畴论遇见概率机器学习如果你在机器学习领域摸爬滚打了一段时间&#xff0c;尤其是深度涉足过贝叶斯方法或概率图模型&#xff0c;你可能会对“不确定性”的数学表达感到既熟悉又头疼。我们习惯了用概率分布来描述数据噪声、参数先验和预测置信度&am…...

布莱克威尔三大定理:从统计理论到AI工程的核心支柱

1. 项目概述&#xff1a;当统计学遇上人工智能如果你在机器学习领域摸爬滚打了一段时间&#xff0c;可能会发现一个有趣的现象&#xff1a;很多听起来很“新潮”的算法&#xff0c;其核心思想往往能在几十年前的统计学论文里找到源头。这并非巧合&#xff0c;而是学科发展的必然…...

量子互联网:原理、挑战与未来应用

1. 量子互联网的技术本质与核心价值量子互联网并非传统互联网的简单升级&#xff0c;而是一种基于量子力学原理的全新通信范式。其核心在于利用量子纠缠这一独特物理现象&#xff0c;实现传统通信手段无法企及的功能。在传统互联网中&#xff0c;信息以经典比特&#xff08;0或…...

两个世界的同一种崩溃:从窗口黑屏到宇宙热寂的同构联想

一、两个世界的同一种崩溃 一段着色器代码中 cell.xy 的缩放因子从 9 被修改为 99。着色器随即呈现完全黑屏——既无报错信息&#xff0c;也无渲染异常&#xff0c;只有纯粹、彻底、连噪点都不存在的黑色。在屏幕的某个抽象维度上&#xff0c;发生了一件与理论物理学家在黑板上…...