프런트 엔드에서 $ .ajax 메서드를 사용하여 자격 증명을 보내고 있으며 crypto.js를 사용하여 자격 증명을 암호화하는 데 사용했습니다.파이썬에서 AES 암호 해독
자바 스크립트 코드
var encrypted = CryptoJS.AES.encrypt("Message", "This is a key123", { mode: CryptoJS.mode.CFB});
$.ajax({
type: "POST",
url: $SCRIPT_ROOT + "/test",
contentType: "application/json",
data:JSON.stringify({key:encrypted.toString()}),
dataType: "json",
success: function (response) {
alert(response);
}
});
내가 파이썬 플라스크에 후단 측에 해독 할 동일한 자격. 암호화 및 암호 해독,하지만 인쇄의가 울부 짖는 소리 문자열을 인쇄 할 때
파이썬 코드는
data = request.json
key = data["key"]
obj2 = AES.new('This is a key123', AES.MODE_CFB)
s = obj2.decrypt(key)
print s
나는 동일한 모드를 사용하고 있습니다.
는�Qg%��qNˮ�Ŵ�M��ĦP�
"~�JB���w���#]�v?W
는 는
은 누구도 날 프런트 엔드 & & 백 엔드에서 암호화 해독을 할 수있는 더 좋은 방법을 제안 할 수 있습니다?
제가>>> from Crypto.Cipher import AES
>>> obj = AES.new('This is a key123', AES.MODE_CFB)
>>> message = "The answer is no"
>>> ciphertext = obj.encrypt(message)
>>> ciphertext
'\x1f\x99%8\xa8\x197%\x89U\xb6\xa5\xb6C\xe0\x88'
>>> obj2 = AES.new('This is a key123', AES.MODE_CFB)
>>> obj2.decrypt(ciphertext)
'The answer is no'
가 잘 작동 파이썬에서만 동일한 암호화 복호를 시도하지만 자바 스크립트를 사용하여 프론트 - 엔드 데이터를 암호화 할 내가 파이썬 같은 복호화 방법을 사용할.
'encrypted.toString()'은 암호문을 문자열로 변환하는 나쁜 방법입니다. Base64 또는 HEX 텍스트 표현을 사용하고 그에 따라 JS 및 파이썬 코드로 변환하십시오. –
@OlegEstekhin이 나에게 어떤 실례를 제안 할 수 있습니까? – Jaydipsinh
@OlegEstekhin 내 질문을 업데이트했습니다. – Jaydipsinh