Quellcode durchsuchen

fix merge bug
create crypto

ignatz vor 4 Jahren
Ursprung
Commit
48babe370e
5 geänderte Dateien mit 40 neuen und 30 gelöschten Zeilen
  1. 3 2
      file/views.py
  2. 2 2
      folder/api.md
  3. 11 26
      folder/views.py
  4. 23 0
      utils/crypto.py
  5. 1 0
      utils/public.rsa

+ 3 - 2
file/views.py

@@ -20,16 +20,17 @@ BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
 @debug_view(template_name='upload_file.html')
 @login_required
 def upload_file(request):
+    data = request.POST
     user = get_user(request)
     try:
         file_obj = request.FILES.get('file')
     except:
-        return make_json_response(code=401, error='文件不存在')
+        return make_json_response(code=400, error='文件不存在')
     update_time = timezone.now().strftime("%Y-%m-%d %H:%M:%S")
     file_size = file_obj.size
     file_name = file_obj.name
     file_type = judge_filepath(file_name.split('.')[-1].lower()) if '.' in file_name else ''
-    father_folder_id = request.POST.get('father_folder_id')
+    father_folder_id = data.get('father_folder_id')
     try:
         folder = Folder.objects.get(folder_id=father_folder_id)
     except:

+ 2 - 2
folder/api.md

@@ -21,7 +21,7 @@
 'username', 'token', 'father_folder_id', 'folder_name'
 ### return
 - code=401, error='未登录'
-- code=402, error='上级文件夹不存在'
+- code=400, error='上级文件夹不存在'
 - code=404, error='没有权限'
 - code=200
 
@@ -30,6 +30,6 @@
 'username', 'token', 'folder_id'
 ### return
 - code=401, error='未登录'
-- code=421, error='无此文件夹'
+- code=400, error='无此文件夹'
 - code=404, error='没有删除文件的权限'
 - code=200

+ 11 - 26
folder/views.py

@@ -40,37 +40,22 @@ def folder_list(request):
 @debug_view('username', 'token', 'father_folder_id', 'folder_name')
 @login_required
 def add_folder(request):
-    if request.method == 'POST':
-        data = request.POST
-        user = get_user(request)
-        # folder_id_random = ''.join(random.sample(string.digits, 8))
-        # father_folder = Folder.objects.filter(folder_id=data.get('father_folder_id')).get()
-
-        father_folder_id = data.get('father_folder_id')
-        try:
-            father_folder = user.folders.get(folder_id=father_folder_id)
-        except:
-            print('上级文件夹不存在')
-            return JsonResponse({'code': 421, 'error': '上级文件夹不存在'})
-
-        folder_name = data.get('folder_name')
-        print(f'folder_name={folder_name} father_folder_id={father_folder_id}')
-        Folder.objects.create(folder_name=folder_name, father_folder=father_folder, owner=user)
-        return JsonResponse({'code': 200})
-    elif request.method == 'GET' and DEBUG:
-        return render(request, 'add_folder.html')
-    else:
-        return HttpResponse(status=400)
-    user = get_user(request)
     data = request.POST
+    user = get_user(request)
+    # folder_id_random = ''.join(random.sample(string.digits, 8))
+    # father_folder = Folder.objects.filter(folder_id=data.get('father_folder_id')).get()
+
     father_folder_id = data.get('father_folder_id')
-    folder_name = data.get('folder_name')
     try:
         father_folder = Folder.objects.get(folder_id=father_folder_id)
     except:
-        return make_json_response(code=402, error='上级文件夹不存在')
-    if not father_folder.check_permission(user=user):
+        return make_json_response(code=400, error='文件夹不存在')
+
+    if not father_folder.check_permission(user):
         return make_json_response(code=404, error='没有权限')
+
+    folder_name = data.get('folder_name')
+    print(f'folder_name={folder_name} father_folder_id={father_folder_id}')
     Folder.objects.create(folder_name=folder_name, father_folder=father_folder, owner=user, group=father_folder.group)
     return make_json_response()
 
@@ -85,7 +70,7 @@ def delete_folder(request):
     try:
         folder = Folder.objects.get(folder_id=folder_id)
     except:
-        return make_json_response(code=421, error='无此文件夹')
+        return make_json_response(code=400, error='无此文件夹')
     if not can_delete(user=user, f=folder):
         return make_json_response(code=404, error='没有删除文件的权限')
     folder.delete()

+ 23 - 0
utils/crypto.py

@@ -0,0 +1,23 @@
+from Crypto import Random
+from Crypto.PublicKey import RSA
+from Crypto.Cipher import PKCS1_v1_5 as PKCS1_cipher
+
+
+with open('public.rsa') as f:
+    key = f.read()
+    public_key = RSA.import_key(key)
+    public_cipher = PKCS1_cipher.new(public_key)
+
+with open('private.rsa') as f:
+    key = f.read()
+    private_key = RSA.import_key(key)
+    private_cipher = PKCS1_cipher.new(private_key)
+
+
+# print(public_key.exportKey().decode('utf-8'))
+
+# random_generator = Random.new().read
+# rsa = RSA.generate(2048, random_generator)
+
+# private_key = rsa.exportKey()
+# print(private_key.decode('utf-8'))

+ 1 - 0
utils/public.rsa

@@ -0,0 +1 @@
+-----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCRQZ5O/AOAjeYAaSFf6Rjhqovw
s78I716I9oGF7WxCIPmcaUa1YuyLOncCCuPsaw69+RMWjdbOBp8hd4PPM/d4mKTO
VEYUE0SfxhhDTZaM5CzQEUXUyXy7icQTGR5wBjrbjU1yHCKOf5PJJZZQWB06husS
FZ40TdL7FdlBpZ1u1QIDAQAB
-----END PUBLIC KEY-----