PasswordConfig.java 1005 B

12345678910111213141516171819202122232425262728293031
  1. package space.anyi.petServiceManagementSystem.server.config;
  2. import org.springframework.stereotype.Component;
  3. import java.security.MessageDigest;
  4. import java.security.NoSuchAlgorithmException;
  5. @Component
  6. public class PasswordConfig {
  7. private static final String SALT = "PetService2026!@#";
  8. public String encrypt(String password) {
  9. try {
  10. String toEncrypt = password + SALT;
  11. MessageDigest md = MessageDigest.getInstance("MD5");
  12. byte[] digest = md.digest(toEncrypt.getBytes());
  13. StringBuilder sb = new StringBuilder();
  14. for (byte b : digest) {
  15. sb.append(String.format("%02x", b & 0xff));
  16. }
  17. return sb.toString();
  18. } catch (NoSuchAlgorithmException e) {
  19. throw new RuntimeException("MD5 encryption error", e);
  20. }
  21. }
  22. public boolean matches(String rawPassword, String encryptedPassword) {
  23. return encrypt(rawPassword).equals(encryptedPassword);
  24. }
  25. }