|
|
@@ -39,7 +39,11 @@ def encrypt(request):
|
39
|
39
|
ciphertext = plaintext
|
40
|
40
|
|
41
|
41
|
return response(200, data={
|
42
|
|
- 'ciphertext': u'%s+%s' % (CIPHER_PREFIX.get(alg, ''), ciphertext),
|
|
42
|
+ 'ciphertext': u'{prefix}+{cipherlen}+{ciphertext}'.format(
|
|
43
|
+ prefix=CIPHER_PREFIX.get(alg, ''),
|
|
44
|
+ cipherlen=len(ciphertext),
|
|
45
|
+ ciphertext=ciphertext,
|
|
46
|
+ ),
|
43
|
47
|
})
|
44
|
48
|
|
45
|
49
|
|
|
|
@@ -47,13 +51,15 @@ def encrypt(request):
|
47
|
51
|
def decrypt(request):
|
48
|
52
|
ciphertext = request.POST.get('ciphertext', '')
|
49
|
53
|
|
50
|
|
- alg, ciphertext = ciphertext.split('+', 1)
|
|
54
|
+ prefix, cipherlen, ciphertext = ciphertext.split('+', 2)
|
51
|
55
|
|
52
|
|
- if alg == CIPHER_PREFIX['CAESAR']:
|
|
56
|
+ ciphertext = ciphertext[:int(cipherlen)]
|
|
57
|
+
|
|
58
|
+ if prefix == CIPHER_PREFIX['CAESAR']:
|
53
|
59
|
plaintext = caesar_decrypt(ciphertext)
|
54
|
|
- elif alg == CIPHER_PREFIX['B64']:
|
|
60
|
+ elif prefix == CIPHER_PREFIX['B64']:
|
55
|
61
|
plaintext = b64_decrypt(ciphertext)
|
56
|
|
- elif alg == CIPHER_PREFIX['RSA']:
|
|
62
|
+ elif prefix == CIPHER_PREFIX['RSA']:
|
57
|
63
|
plaintext = rsa_decrypt(ciphertext)
|
58
|
64
|
else:
|
59
|
65
|
plaintext = ciphertext
|