mirror of
https://github.com/jumpserver/jumpserver.git
synced 2026-01-29 21:51:31 +00:00
perf: 优化加密 (#8206)
* perf: 优化加密 * perf: 优化加密 * perf: 优化加密传输 Co-authored-by: ibuler <ibuler@qq.com>
This commit is contained in:
@@ -3,7 +3,7 @@
|
||||
|
||||
from rest_framework import serializers
|
||||
|
||||
from common.utils import rsa_decrypt_by_session_pkey
|
||||
from common.utils import decrypt_password
|
||||
|
||||
__all__ = [
|
||||
'ReadableHiddenField', 'EncryptedField'
|
||||
@@ -29,4 +29,4 @@ class ReadableHiddenField(serializers.HiddenField):
|
||||
class EncryptedField(serializers.CharField):
|
||||
def to_internal_value(self, value):
|
||||
value = super().to_internal_value(value)
|
||||
return rsa_decrypt_by_session_pkey(value)
|
||||
return decrypt_password(value)
|
||||
|
||||
@@ -241,10 +241,21 @@ def rsa_decrypt_by_session_pkey(value):
|
||||
return value
|
||||
|
||||
try:
|
||||
value= rsa_decrypt(value, private_key)
|
||||
value = rsa_decrypt(value, private_key)
|
||||
except Exception as e:
|
||||
logging.error('Decrypt field error: {}'.format(e))
|
||||
return value
|
||||
|
||||
|
||||
def decrypt_password(value):
|
||||
cipher = value.split(':')
|
||||
if len(cipher) != 2:
|
||||
return value
|
||||
key_cipher, password_cipher = cipher
|
||||
aes_key = rsa_decrypt_by_session_pkey(key_cipher)
|
||||
aes = get_aes_crypto(aes_key, 'ECB')
|
||||
password = aes.decrypt(password_cipher)
|
||||
return password
|
||||
|
||||
|
||||
crypto = Crypto()
|
||||
|
||||
Reference in New Issue
Block a user