ItsOpServerApplicationTests.java 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. package com.its.op;
  2. import com.its.utils.AES256Util;
  3. import com.its.utils.SHA256Util;
  4. import lombok.extern.slf4j.Slf4j;
  5. import org.jasypt.encryption.pbe.PooledPBEStringEncryptor;
  6. import org.jasypt.encryption.pbe.config.SimpleStringPBEConfig;
  7. import org.jasypt.salt.StringFixedSaltGenerator;
  8. import org.junit.jupiter.api.Test;
  9. import org.springframework.boot.test.context.SpringBootTest;
  10. import java.time.LocalDateTime;
  11. import java.time.format.DateTimeFormatter;
  12. @Slf4j
  13. @SpringBootTest
  14. public class ItsOpServerApplicationTests {
  15. @Test
  16. void encrypt() {
  17. log.error("{}", SHA256Util.encrypt("admin12#$!"));
  18. log.error("{}", SHA256Util.encrypt2("admin12#$!"));
  19. }
  20. void reference1() {
  21. String name = "test";
  22. LocalDateTime ldt = LocalDateTime.now();
  23. DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-dd-MM HH:mm:ss.SSS");
  24. System.out.println(ldt.format(formatter) + " Started thread " + name);
  25. try {
  26. Thread.sleep(2000);
  27. } catch (InterruptedException e) {
  28. e.printStackTrace();
  29. }
  30. ldt = LocalDateTime.now();
  31. System.out.println(ldt.format(formatter) + " Ended thread " + name);
  32. }
  33. @Test
  34. void test1() {
  35. for (int ii = 0; ii < 24; ii++) {
  36. for (int jj = 0; jj < 12; jj++) {
  37. log.error("{}:{}", ii, jj*5);
  38. }
  39. }
  40. String prcsDt = "20220120173526";
  41. log.error("{}", prcsDt.substring(0, 2));
  42. log.error("{}", prcsDt.substring(8, 10));
  43. log.error("{}", prcsDt.substring(10, 12));
  44. String svcDt = "20210120173526";
  45. log.error("compareTo: {}", svcDt.compareTo(prcsDt));
  46. }
  47. @Test
  48. void jasypt() {
  49. String encKey = "asdkjfaslkjflkajslfjkajlkf";
  50. PooledPBEStringEncryptor encryptor = new PooledPBEStringEncryptor();
  51. SimpleStringPBEConfig config = new SimpleStringPBEConfig();
  52. // ==> SimpleStringPBEConfig 사용시 아래 3개 반드시 설정해야함
  53. config.setPassword(encKey); // 암호화에 사용할 키
  54. config.setPoolSize(1); // Pool Size
  55. config.setSaltGenerator(new StringFixedSaltGenerator("fixedSalt")); // 고정으로 암호화(Default: Random)
  56. //config.setSaltGeneratorClassName("org.jasypt.salt.RandomSaltGenerator");
  57. //config.setAlgorithm("PBEWithMD5AndTripleDES");
  58. config.setAlgorithm("PBEWithMD5AndDES"); // Jasypt 를 이용한 암호화 알고리즘
  59. config.setProviderName("SunJCE");
  60. config.setKeyObtentionIterations("10000");
  61. config.setStringOutputType("base64");
  62. /*private Boolean proxyPropertySources = false;
  63. private String bean = "jasyptStringEncryptor";
  64. private String password;
  65. private String algorithm = "PBEWithMD5AndDES";
  66. private String keyObtentionIterations = "1000";
  67. private String poolSize = "1";
  68. private String providerName = null;
  69. //config.setSaltGeneratorClassName("org.jasypt.salt.RandomSaltGenerator");
  70. private String saltGeneratorClassname = "org.jasypt.salt.RandomSaltGenerator";
  71. private String stringOutputType = "base64";*/
  72. encryptor.setConfig(config);
  73. String yiits = encryptor.encrypt("yiits");
  74. String rutis = encryptor.encrypt("rutis");
  75. log.info("{}", yiits);
  76. log.info("{}", rutis);
  77. }
  78. @Test
  79. void sha256() {
  80. String data = AES256Util.encryptSHA256("yonginits");
  81. log.info("{}", data);
  82. log.info("{}", data.toUpperCase());
  83. log.info("{}", AES256Util.encryptSHA256("yiits"));
  84. log.info("{}", AES256Util.encryptSHA256("yonginits"));
  85. log.info("{}", AES256Util.encryptSHA256("yonginits"));
  86. log.info("{}", AES256Util.encryptSHA256("yonginits"));
  87. log.info("{}", AES256Util.encryptSHA256("yonginits"));
  88. log.info("{}", AES256Util.encryptSHA256("yonginits"));
  89. log.info("{}", AES256Util.encryptSHA256("yonginits"));
  90. log.info("{}", AES256Util.encryptSHA256("yonginits"));
  91. log.info("{}", AES256Util.encryptSHA256("yonginits"));
  92. }
  93. @Test
  94. void test9() {
  95. int ltc1 = 2933;
  96. int TOTAL = 4361;
  97. double tLtc1 = Double.parseDouble(String.format("%.1f", ltc1 / TOTAL * 100.0));
  98. log.error("{}, {}, {}, {}", ltc1, TOTAL, tLtc1, (ltc1 / (float)TOTAL * 100.0));
  99. }
  100. }