Код: Выделить всё
// before persisting
encryptor.encrypt(cardNumber);
Код: Выделить всё
// before returning card response DTO (masking omitted)
encryptor.decrypt(encryptedCardNumber);
Код: Выделить всё
import com.example.em_card_service.data.properties.EncryptionProperties;
import lombok.RequiredArgsConstructor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.crypto.encrypt.Encryptors;
import org.springframework.security.crypto.encrypt.TextEncryptor;
import java.util.List;
@Configuration
@RequiredArgsConstructor
public class SecurityConfig {
private final EncryptionProperties encryptionProperties;
// more beans
@Bean
public TextEncryptor textEncryptor() {
return Encryptors.text(encryptionProperties.getPassword(), encryptionProperties.getSalt());
}
}
Код: Выделить всё
decrypt() методы. Я согласен предоставить этой утилите некоторые шестнадцатеричные строки («соли», «пароли», что угодно).
После разговоров с Клодом, в конечном итоге она сказала: "Исправление состоит в том, чтобы использовать javax.cryptoКак детерминированно зашифровать строки на нескольких серверах, используя только высокоуровневые средства (без шифрования)? Вы можете использовать любую библиотеку, которая вам нравится.
Spring Boot 4.