Я написал службу отдыха для шифрования и расшифровки URL.Отправка url в качестве параметра запроса в rest webservice
Код шифрования:
@GET
@Produces("application/json")
@Path("/encrypt/")
public Response encryptWithQuery(@QueryParam("plainString") String plainString)
throws JSONException {
Response response = new Response();
AesUtil util = new AesUtil(KEY_SIZE, ITERATION_COUNT);
response = util.encrypt(SALT, IV, PASSPHRASE, plainString);
return response;
}
дешифрование код:
@GET
@Produces("application/json")
@Path("/decryptWP/")
public Response decryptWithQuery(@QueryParam("encryptString") String encryptString)
throws JSONException {
Response response = new Response();
AesUtil util = new AesUtil(KEY_SIZE, ITERATION_COUNT);
response = util.decrypt(SALT, IV, PASSPHRASE, encryptString);
return response;
}
Когда я называю свою службу шифровать остальное я получить зашифрованную строку
URL для шифрования
http://localhost:9080/kttafm/keybank/encrypt?plainString=http://localhost:9080/kttafm/master.jsp?abc=zyx
Но когда я вызвать службу дешифрования остальное я получаю ниже исключения
javax.crypto.BadPaddingException: Given final block not properly padded
Но если я перейти от @Queryparam Т.П. @path парам, дешифрования прекрасно работает,
Метод расшифровывать, который отлично работает и расшифровывает зашифрованную строку:
@GET
@Produces("application/json")
@Path("/decrypt/{encryptString}")
public Response decrypt(@PathParam("encryptString") String encryptString)
throws JSONException {
Response response = new Response();
AesUtil util = new AesUtil(KEY_SIZE, ITERATION_COUNT);
response = util.decrypt(SALT, IV, PASSPHRASE, encryptString);
return response;
}
Что мне не хватает?
Можете ли вы предоставить более подробную информацию о реальной технологии, которую вы используете здесь? И, пожалуйста, проясните, какой метод перемещает форму запроса в путь. –
Кстати: добавление материала для шифрования URL-адреса кажется плохой идеей с точки зрения безопасности. –
@Queryparam может иметь кодировку, связанную с обработкой. Вы можете показать пример зашифрованного URL-адреса? вы отлаживали, чтобы проверить, что соответствует именно входному аргументу encryptString? –