import secrets import hashlib import time import os def generate_hashed_session_id(): """ 生成一个基于 SHA-256 的安全 session_id。 :return: 安全的 session_id。 """ random_bytes = secrets.token_bytes(32) # 生成 32 字节随机数 hashed = hashlib.sha256(random_bytes).hexdigest() # 计算 SHA-256 哈希值 #保存session_id timestamp = int(time.time()) with open(f"/tmp/k3gpt/session_id_{hashed}","w+") as f: f.write(str(timestamp)) return hashed def valid_session_id(session_id): """ 检查会话id是否有效 """ try: with open(f"/tmp/k3gpt/session_id_{session_id}","r") as f: s_timestamp = f.read() if int(time.time())-int(s_timestamp) < 3600*12: return True else: return False except Exception as e: print(e) return False def delete_session_id(session_id): """ 删除session """ try: os.remove(f"/tmp/k3gpt/session_id_{session_id}") except: pass def hashed_password(password): """ 生成一个基于 SHA-256 的安全 session_id。 :return: 安全的 session_id。 """ pswd=f"k3gpt_{password}".encode("utf8") hashed = hashlib.sha256(pswd).hexdigest() # 计算 SHA-256 哈希值 return hashed def hashed_tel(password): """ 生成一个基于 SHA-256 的安全 session_id。 :return: 安全的 session_id。 """ pswd=f"tel_{password}".encode("utf8") hashed = hashlib.sha256(pswd).hexdigest() # 计算 SHA-256 哈希值 return hashed import re def regular_filename(filename): """ 去除字符串中的中文符号、英文符号、空格、换行、制表符等所有特殊符号 仅保留:中文字符、英文字母、数字 """ # \u4e00-\u9fa5:常用中文字符范围(简体+繁体基本覆盖) # a-zA-Z0-9:英文字母和数字 cleaned = re.sub(r'[^\u4e00-\u9fa5a-zA-Z0-9.]', '_', filename) return cleaned #处理思考大模型的信息 def found_llm_think_data(data): think="" if data.find("")>=0 and data.find("")==-1: #还未思考结束 think = data[8:] data = "" elif data.find("")>=0 and data.find("")>0: #思考结束 end = data.find("") think = data[8:end] data = data[end+8:] begin = data.find("{") end = data.rfind("}") if data.find("```json") >=0: #找到json数据,只返回json数据 data = data[begin:end+1] elif begin>0 and end >0: #含有json数据 data = data[begin:end+1] return think,data from cryptography.fernet import Fernet key = b'aDSK382C_Ep5hAvMkW0UPttdicyog-JoxaV_-CStutE=' def encrypt_tel(tel): f = Fernet(key) token = f.encrypt(tel.encode("utf-8")) return token.decode("utf-8") def decrypt_tel(token): f = Fernet(key) try: tel = f.decrypt(token.encode("utf-8")) except: return "***********" return tel.decode("utf-8") if __name__=="__main__": h = hashed_password("12345678") print(h)