ShaUtil.java 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. package com.ruoyi.common.utils;
  2. import java.security.MessageDigest;
  3. public final class ShaUtil {
  4. public static String sha512(String plaintext) {
  5. return sha(plaintext, "SHA-512");
  6. }
  7. public static String sha256(String plaintext) {
  8. return sha(plaintext, "SHA-256");
  9. }
  10. private static String sha(String plaintext, String shaAlg) {
  11. if (plaintext == null || plaintext.length() == 0) {
  12. throw new IllegalArgumentException("Plain text must be not empty!!");
  13. }
  14. try {
  15. MessageDigest md = MessageDigest.getInstance(shaAlg);
  16. md.update(plaintext.getBytes());
  17. byte[] bytBuffer = md.digest();
  18. StringBuilder sb = new StringBuilder();
  19. for (byte b : bytBuffer) {
  20. String hex = Integer.toHexString(255 & b);
  21. if (hex.length() == 1) {
  22. sb.append("0");
  23. }
  24. sb.append(hex);
  25. }
  26. return sb.toString();
  27. } catch (Exception e) {
  28. throw new IllegalStateException("do sha failed", e);
  29. }
  30. }
  31. }