diff --git a/main/utils.py b/main/utils.py
new file mode 100644
index 0000000..1d72390
--- /dev/null
+++ b/main/utils.py
@@ -0,0 +1,120 @@
+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)
\ No newline at end of file