团队作业(五):项目冲刺2

发布时间 2023-12-12 18:09:01作者: 你玩原神吗组

团队作业(五):项目冲刺2

各个成员今日完成的任务

  • 范超明:前端代码设计

  • 周意凯:文件加密解密

  • 黄琪凯:后端代码设计

  • 尤其羽:后端代码设计

  • 杨语桐:代码测试

代码完成情况

  • 前端部分代码

     import socket
     import threading
     from gmssl import sm2, sm3, sm4
     import os
     import hashlib
     import time
     import shutil
    
     stop_thread = threading.Event()
    
     def change_server_password(sm4_key):
         new_password = input("input new password: ")
         new_sm4_key = generate_sm4_key(new_password)
         try:
             
             decrypt_files("data", sm4_key)
             decrypt_files("user", sm4_key)
    
             
             encrypt_files("data", new_sm4_key)
             encrypt_files("user", new_sm4_key)
         except:
             print("error, change server password fail")
    
  • 后端部分代码

     import socket
     import threading
     from gmssl import sm2, sm3, sm4
     import os
     import hashlib
     import time
     import shutil
    
     stop_thread = threading.Event()
    
     
     def read_and_check_server_info(input_password, sm4_key):
         # 备份密码文件
         shutil.copy("server_password.encrypted","server_password.encrypted.copy")
    
         decrypt_file("server_password.encrypted", sm4_key)
         # print("successfully decrypt password file")
         # time.sleep(10)
         key = False
         with open("server_password", 'r') as server_info:
             server_password = server_info.readline().strip()
             # print(server_password)
             # print(input_password)
             if input_password == server_password:
                 key = True
         encrypt_file("server_password", sm4_key)
    
         # 恢复备份
         os.remove("server_password.encrypted")
         os.rename("server_password.encrypted.copy", "server_password.encrypted")
    
         return key
    
  • 加密解密部分代码

     def encrypt_file(file_path, sm4_key):
         crypt_sm4 = sm4.CryptSM4()
         crypt_sm4.set_key(sm4_key, sm4.SM4_ENCRYPT)
    
         try :
             with open(file_path, 'rb') as file:
                 file_data = file.read()
         except:
             print("an error occurred while opening the data, exit ")
             return
    
         encrypted_data = crypt_sm4.crypt_ecb(file_data)
    
         # 保存加密后的文件
         with open(file_path + '.encrypted', 'wb') as encrypted_file:
             encrypted_file.write(encrypted_data)
         
         # 删除原始文件(可选)
         os.remove(file_path)
    

提交到gitee

Gitee代码提交链接

明日各个成员的任务安排

  • 范超明:完善前端代码

  • 周意凯:加密解密代码修改

  • 黄琪凯:完善后端代码

  • 尤其羽:完善后端代码

  • 杨语桐:代码测试

各个成员今日对项目的贡献量

姓名 贡献量
范超明 2
周意凯 2
黄琪凯 2
尤其羽 2
杨语桐 2

团队线下合照