ItsOpServerApplicationTests.java 3.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. package com.its.op;
  2. import com.its.utils.AES256Util;
  3. import lombok.extern.slf4j.Slf4j;
  4. import org.jasypt.encryption.pbe.PooledPBEStringEncryptor;
  5. import org.jasypt.encryption.pbe.config.SimpleStringPBEConfig;
  6. import org.jasypt.salt.StringFixedSaltGenerator;
  7. import org.junit.jupiter.api.Test;
  8. import org.springframework.boot.test.context.SpringBootTest;
  9. @Slf4j
  10. @SpringBootTest
  11. public class ItsOpServerApplicationTests {
  12. @Test
  13. void test1() {
  14. for (int ii = 0; ii < 24; ii++) {
  15. for (int jj = 0; jj < 12; jj++) {
  16. log.error("{}:{}", ii, jj*5);
  17. }
  18. }
  19. String prcsDt = "20220120173526";
  20. log.error("{}", prcsDt.substring(0, 2));
  21. log.error("{}", prcsDt.substring(8, 10));
  22. log.error("{}", prcsDt.substring(10, 12));
  23. String svcDt = "20210120173526";
  24. log.error("compareTo: {}", svcDt.compareTo(prcsDt));
  25. }
  26. @Test
  27. void jasypt() {
  28. String encKey = "asdkjfaslkjflkajslfjkajlkf";
  29. PooledPBEStringEncryptor encryptor = new PooledPBEStringEncryptor();
  30. SimpleStringPBEConfig config = new SimpleStringPBEConfig();
  31. // ==> SimpleStringPBEConfig 사용시 아래 3개 반드시 설정해야함
  32. config.setPassword(encKey); // 암호화에 사용할 키
  33. config.setPoolSize(1); // Pool Size
  34. config.setSaltGenerator(new StringFixedSaltGenerator("fixedSalt")); // 고정으로 암호화(Default: Random)
  35. //config.setSaltGeneratorClassName("org.jasypt.salt.RandomSaltGenerator");
  36. //config.setAlgorithm("PBEWithMD5AndTripleDES");
  37. config.setAlgorithm("PBEWithMD5AndDES"); // Jasypt 를 이용한 암호화 알고리즘
  38. config.setProviderName("SunJCE");
  39. config.setKeyObtentionIterations("10000");
  40. config.setStringOutputType("base64");
  41. /*private Boolean proxyPropertySources = false;
  42. private String bean = "jasyptStringEncryptor";
  43. private String password;
  44. private String algorithm = "PBEWithMD5AndDES";
  45. private String keyObtentionIterations = "1000";
  46. private String poolSize = "1";
  47. private String providerName = null;
  48. //config.setSaltGeneratorClassName("org.jasypt.salt.RandomSaltGenerator");
  49. private String saltGeneratorClassname = "org.jasypt.salt.RandomSaltGenerator";
  50. private String stringOutputType = "base64";*/
  51. encryptor.setConfig(config);
  52. //String yiits = encryptor.encrypt("ROTA");
  53. //String rutis = encryptor.encrypt("rota");
  54. log.info(" ROTA: {}", encryptor.encrypt("ROTA"));
  55. log.info(" rota: {}", encryptor.encrypt("rota"));
  56. log.info(" rutis: {}", encryptor.encrypt("rutis"));
  57. log.info(" yiits: {}", encryptor.encrypt("yiits"));
  58. log.info("yonginits: {}", encryptor.encrypt("yonginits"));
  59. log.info("yiits2094: {}", encryptor.encrypt("yiits2094"));
  60. log.info(" yibis: {}", encryptor.encrypt("yibis"));
  61. }
  62. @Test
  63. void sha256() {
  64. String data = AES256Util.encryptSHA256("yonginits");
  65. log.info("{}", data);
  66. log.info("{}", data.toUpperCase());
  67. log.info("{}", AES256Util.encryptSHA256("yiits"));
  68. log.info("{}", AES256Util.encryptSHA256("yonginits"));
  69. log.info("{}", AES256Util.encryptSHA256("yonginits"));
  70. log.info("{}", AES256Util.encryptSHA256("yonginits"));
  71. log.info("{}", AES256Util.encryptSHA256("yonginits"));
  72. log.info("{}", AES256Util.encryptSHA256("yonginits"));
  73. log.info("{}", AES256Util.encryptSHA256("yonginits"));
  74. log.info("{}", AES256Util.encryptSHA256("yonginits"));
  75. log.info("{}", AES256Util.encryptSHA256("yonginits"));
  76. }
  77. }