Browse Source

file download no crypto

zoe 4 years ago
parent
commit
2294fac5f4
4 changed files with 10 additions and 2 deletions
  1. 1 1
      .idea/misc.xml
  2. 1 1
      .idea/st_cloud.iml
  3. BIN
      db.sqlite3
  4. 8 0
      utils/crypto.py

+ 1 - 1
.idea/misc.xml

@@ -1,4 +1,4 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <project version="4">
-  <component name="ProjectRootManager" version="2" project-jdk-name="Python 3.9 (st-cloud)" project-jdk-type="Python SDK" />
+  <component name="ProjectRootManager" version="2" project-jdk-name="Python 3.7 (hy_env)" project-jdk-type="Python SDK" />
 </project>

+ 1 - 1
.idea/st_cloud.iml

@@ -16,7 +16,7 @@
     <content url="file://$MODULE_DIR$">
       <excludeFolder url="file://$MODULE_DIR$/venv" />
     </content>
-    <orderEntry type="jdk" jdkName="Python 3.9 (st-cloud)" jdkType="Python SDK" />
+    <orderEntry type="jdk" jdkName="Python 3.7 (hy_env)" jdkType="Python SDK" />
     <orderEntry type="sourceFolder" forTests="false" />
   </component>
   <component name="TemplatesService">

BIN
db.sqlite3


+ 8 - 0
utils/crypto.py

@@ -5,6 +5,9 @@ from Crypto.Cipher import PKCS1_v1_5 as PKCS1_cipher
 from Crypto.Cipher import AES
 from functools import wraps
 from utils.http import make_json_response
+from urllib import parse
+from django.http import JsonResponse
+
 import json
 
 IV = '16-Bytes--String'
@@ -50,6 +53,8 @@ def secure_transport(view_func):
         except:
             print('不是json')
             loaded = {}
+            plain_text = parse.unquote(plain_text)
+            print(plain_text)
             for p in map(lambda s: s.split('='), plain_text.split('&')):
                 loaded[p[0]] = p[1]
         dec_request = request
@@ -57,6 +62,9 @@ def secure_transport(view_func):
 
         raw_response = view_func(dec_request, *args, **kwargs)
 
+        if not isinstance(raw_response, JsonResponse):
+            return raw_response
+
         content = json.dumps({'data': json.loads(raw_response.content)}).encode('utf-8')
         padding = 16 - len(content) % 16
         content += bytes([padding] * padding)