Мое приложение манипулирует идентификаторами базы данных. Я хочу скрыть эти значения от своих пользователей.
Я ищу способ зашифровать эти идентификаторы, когда они передаются со стороны сервера на сторону клиента, и расшифровать их, когда они передаются наоборот.
К вашему сведению, незашифрованные идентификаторы представляют собой целые числа (длинные числа Java). У меня есть еще одно требование передавать зашифрованные идентификаторы через HTTP. Кроме того, зашифрованные значения не обязательно должны быть целыми числами.
В настоящее время я использую Jasypt StandardPBEBigIntegerEncryptor
с паролем, но получаю:
org.jasypt.exceptions.EncryptionOperationNotPossibleException
Может ли кто-нибудь порекомендовать мне подходящую реализацию xxEncryptor
из многочисленных классов Jasypt с учетом моих требований?
изменить: на самом деле я просто пытаюсь зашифровать положительный java long в другой положительный java long. Данные представляют собой идентификатор объекта JPA:
private Long id;
Затем я использую сериализатор Json (JsonSerializer<Long>
), чтобы зашифровать данные, отправляемые из конечной точки REST в клиент javascript, и десериализатор Json (JsonDeserializer<Long>
), чтобы расшифровать данные, которые клиент javascript отправляет в конечную точку REST.