두 개의 분리 된 응용 프로그램이 있습니다. 하나는 Java로, 다른 하나는 Erlang으로 작성되었습니다. 두 응용 프로그램 모두 String 형식으로 서로 메시지를 보내고 이러한 메시지는 Java 응용 프로그램에서 암호화되므로 Erlang 응용 프로그램에서 암호를 해독해야합니다.erlang + RSA를 사용하여 문자열 암호 해독
문제는 다음과 같습니다. RSA 공개 키/개인 키를 사용하여 암호화/암호 해독을 수행하고 있습니다.
데이터를 암호화하고 내 얼랭 코드 안의 모든 데이터를 해독하면 모든 것이 정상입니다. 하지만, 내 자바 엔드 포인트에서 오는 문자열을 해독 할 수 없습니다. 여기
는 내가 뭘 간단한 테스트입니다 :PrivKey = "-----BEGIN RSA PRIVATE KEY----- ...",
% Data is the string I receive from Java
Data = "s013aA/SGN2iGYEbEIXXKvJiipqisRVfVEDneL8npRgThTHxTnYZESzVfCF463phPZyo5aOozisU7pwDdGKXgY8aqYZC+a3uES5muTb2RrzJ17yYku+g4S44vgIwZ9EyustZafNVGEYfgbWOYaPP/q5k683uR+MRHVqp6UbqMok=",
[PrivEntry] = public_key:pem_decode(list_to_binary(PrivKey)),
Priv = public_key:pem_entry_decode(PrivEntry),
BinData = iolist_to_binary(Data),
public_key:decrypt_private(Data, Priv).
이 코드를 실행과 같은 오류 발생 :
** exception error: decrypt_failed
내가 문제가 BinData의 형식으로 생각을하지만 난 나오지 않았어 decrypt_private 함수에 전달할 문자열을 인코딩하는 방법을 알려주는 곳을 찾지 못했습니다.
이 작업을 수행하는 방법을 아는 사람이 있습니까? 이것은 간단하지만, 나에게 많은 시간을내어 알아낼 수 있습니다.
감사합니다.