fork(1) download
  1. import java.nio.charset.Charset;
  2. import java.security.MessageDigest;
  3. import java.security.NoSuchAlgorithmException;
  4. import java.util.Base64;
  5.  
  6.  
  7. /*
  8. プログラミングのお題スレ Part14
  9. //mevius.5ch.net/test/read.cgi/tech/1558168409/683
  10. 683 名前:デフォルトの名無しさん[sage] 投稿日:2019/06/30(日) 08:04:20.61 ID:uuDJgtvu
  11. お題
  12. #1234→◆gdyb21LQTc
  13. #abcd→◆4vxxTEcn7p
  14. #あいうえお→◆rXz1zlMT-L
  15.  
  16. 左のトリップキーから右のトリップを返すアルゴリズムを探せ
  17. */
  18.  
  19. class Ideone
  20. {
  21. static final String CHARSET = "MS932";
  22. static final String DIGEST = "MD5";
  23.  
  24. public static void main(String[] args) throws Exception
  25. {
  26. System.out.println(trip("1234#1234"));
  27. System.out.println(trip("abcd#abcd"));
  28. System.out.println(trip("あいうえお#あいうえお"));
  29. }
  30.  
  31. static String trip(String name) throws NoSuchAlgorithmException
  32. {
  33. int index = name.indexOf("#");
  34. if (index == -1) return name;
  35. String key = name.substring(index + 1);
  36. byte[] src = key.getBytes(Charset.forName(CHARSET));
  37. byte[] dst = MessageDigest.getInstance(DIGEST).digest(src);
  38. return name.substring(0, index) + "◆" + Base64.getEncoder().encodeToString(dst).substring(0, 10).replace('+', '-');
  39. }
  40. }
  41.  
Success #stdin #stdout 0.07s 2184192KB
stdin
Standard input is empty
stdout
1234◆gdyb21LQTc
abcd◆4vxxTEcn7p
あいうえお◆rXz1zlMT-L