基于编程的信息安全项目实践

实现开发简易界面解决ctf加解密。

环境:python3.10.5     PYQT5

1.PYQT5安装

pip install PYQT5

2.小知识总结

2.1 绑定按钮信号

self.pushbutton1.clicked.connect(self.函数名)

2.2 获取textedit文本

self.textedit1.toPlainText()

2.3 获取lineedit文本

self.lineedit1.text()

2.4 输出textbrowser文本

self.textbrowser1.setTest()

self.textbrowser1.insertPlainText()#追加输出不换行

2.5 切换页面

# 页面1信号

 self.pushButton.clicked.connect(self.btn1_fun)

# 页面1

 def btn1_fun(self):

 self.stackedWidget.setCurrentIndex(0)

3.功能实现

3.1 base编码解码

import base64
  # base64加密实现函数

    def base64_JIAM(self):

        a = self.textEdit_1.toPlainText()

        st = a.encode() # 默认以utf8编码

        res = base64.b64encode(st)

        self.textBrowser.setText(str(res.decode()))

 

 

    # base64解密实现函数

    def base64_JIEM(self):

        a = self.textEdit_1.toPlainText()

        st = a.encode() # 默认以utf8编码

        res = base64.b64decode(st)

        try:

            self.textBrowser.setText(str(res.decode()))

3.2 仿射密码

    # 仿射密码加密实现函数

    def FANGSHE_JIAM(self):

        s = 'abcdefghijklmnopqrstuvwxyz'

        s1 = []

        a = int(self.lineEdit_3.text())

        b = int(self.lineEdit_4.text())

        m = self.textEdit_2.toPlainText()

        for i in range(len(m)):

            c = s.index(m[i])

            dx1 = (a * c + b)

            R = dx1 - 26 * (dx1 // 26)

            s1.append(R)

            self.textBrowser_2.insertPlainText(s[R])

 

 

    # 仿射密码解密实现函数

    def FANGSHE_JIEM(self):

        s = 'abcdefghijklmnopqrstuvwxyz'

        a = int(self.lineEdit_3.text())

        b = int(self.lineEdit_4.text())

        m = self.textEdit_2.toPlainText()

        for i in range(0, 27):

            if (a * i) % 26 == 1:

                ny = i

        for j in range(len(m)):

            c = s.index(m[j])

            dx1 = ny * (c - b)

            R = dx1 - 26 * (dx1 // 26)

            self.textBrowser_2.insertPlainText(s[R])

3.3 栅栏密码

 # 栅栏密码加密

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 基于Java的校友信息管理系统代码,主要分为前端和后端两部分。 前端界面部分主要使用HTML、CSS、JavaScript等技术实现,通过Bootstrap等框架进行美化和响应式布局,以便能够适应各种设备大小和分辨率。通过JavaScript实现表单校验和ajax交互等功能,以提高用户交互体验和系统性能。 后端代码部分主要使用Java语言开发,使用Spring框架进行MVC模式的开发,使用MyBatis进行数据访问,实现与数据库的交互。在数据层面上,采用数据库连接池技术,优化连接性能,提高系统访问速度和稳定性。 在校友管理方面,系统主要包含如下功能模块:注册、登录、信息浏览、信息修改、信息删除、信息查询等。其中,注册和登录模块通过安全验证机制,提高系统安全性;信息查询模块支持根据姓名、年级、专业、班级等参数进行检索,以方便用户查找和管理。同时,在用户界面上增加了数据可视化展示等功能,以方便用户进行数据分析和决策。 系统特色:本系统基于Java编写,采用Spring+MyBatis技术架构,实现了高效稳定的数据交互和管理。同时,为提高用户体验,使用了Bootstrap等美化框架和JavaScript技术。系统界面简洁清新,操作简单直观,同时支持多种设备的访问和自适应布局。系统保证数据的安全性和完整性,能够有效提高校友管理的效率和便捷程度,是一款实用性和易用性兼备的校友信息管理系统。 ### 回答2: 基于Java的校友信息管理系统采用MVC架构,分为视图层(View)、控制层(Controller)和模型层(Model)。模型层负责数据的增删改查,控制层负责调用模型层并将数据传给视图层展示。 系统采用MySQL数据库存储数据,使用JDBC实现与数据库的交互。主要实现功能包括校友信息的录入、修改、删除和查找。 校友信息包括姓名、性别、出生日期、联系方式、工作单位等信息。录入和修改信息时需要进行各项信息的校验,保证数据的正确性和完整性。同时,系统支持按照不同条件进行查找,如按姓名、单位、毕业年份等。 在设计视图层时,采用Java Swing框架搭建一个简单的用户界面,方便用户进行操作。 除了基本功能,系统还加入了团员管理、活动通知和论坛讨论等功能,提供更多的服务内容。 该校友信息管理系统代码需要使用JDK1.8及以上版本,并配合使用MySQL数据库。代码结构清晰,易于理解和维护,可以作为Java基础和数据库应用的实践项目。 ### 回答3: 基于Java的校友信息管理系统代码具有一定的复杂性和规模,通常包括系统的前端界面、后端逻辑和数据库的设计与管理。以下是一个基本的校友信息管理系统的代码架构: 1. 前端界面设计:使用Java Swing等UI组件,以及HTML、CSS、JavaScript等Web前端技术,构建一个用户友好的图形界面,实现校友信息的展示、修改与查询等功能。 2. 后端逻辑处理:利用Java Servlet、JSP等技术,实现系统与用户之间的数据交互,包括用户请求的响应、数据校验和处理、业务逻辑的实现、数据存储和访问等。 3. 数据库设计与管理:使用MySQL等关系型数据库,设计结构化的数据表和表间关系,存储和管理校友的基本信息和活动记录等数据。 整个系统的代码需要有良好的模块化和可扩展性,以满足未来的需求变更和功能扩展。对于Java开发人员来说,需要具备扎实的Java编程基础、熟练掌握相关的框架和技术,以及良好的软件设计和开发思维。同时,也需要考虑系统的安全性、可靠性、可用性和易用性等方面,以提供优质的用户体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值