Java代码实现sha256加密

素颜马尾好姑娘i 2022-09-02 07:52 267阅读 0赞

sha256算法是非对称加密,是不可以逆的,但也可以暴力破解
一般对系统的用户表的密码加密,然后对比加密后的字符串是否相等

在线加密网址
http://www.ttmd5.com/hash.php?type=9

代码如下

  1. package com.xxl.job.admin.utils;
  2. import java.nio.charset.StandardCharsets;
  3. import java.security.MessageDigest;
  4. import java.security.NoSuchAlgorithmException;
  5. /** * sha256加密工具类 * * @author liHu * @version 1.0 * @date 2021/8/3 10:48 * @since JDK 1.8 */
  6. public class EncryptSha256Util {
  7. public static void main(String[] args) {
  8. String sha256Str = getSha256Str("123456");
  9. System.out.println(sha256Str);
  10. }
  11. /** * sha256加密 * * @param str 要加密的字符串 * @return 加密后的字符串 */
  12. public static String getSha256Str(String str) {
  13. MessageDigest messageDigest;
  14. String encodeStr = "";
  15. try {
  16. messageDigest = MessageDigest.getInstance("SHA-256");
  17. messageDigest.update(str.getBytes(StandardCharsets.UTF_8));
  18. encodeStr = byte2Hex(messageDigest.digest());
  19. } catch (NoSuchAlgorithmException e) {
  20. e.printStackTrace();
  21. }
  22. return encodeStr;
  23. }
  24. /** * sha256加密 将byte转为16进制 * * @param bytes 字节码 * @return 加密后的字符串 */
  25. private static String byte2Hex(byte[] bytes) {
  26. StringBuilder stringBuilder = new StringBuilder();
  27. String temp;
  28. for (byte aByte : bytes) {
  29. temp = Integer.toHexString(aByte & 0xFF);
  30. if (temp.length() == 1) {
  31. //1得到一位的进行补0操作
  32. stringBuilder.append("0");
  33. }
  34. stringBuilder.append(temp);
  35. }
  36. return stringBuilder.toString();
  37. }
  38. }

发表评论

表情:
评论列表 (有 0 条评论,267人围观)

还没有评论,来说两句吧...

相关阅读

    相关 JavaJava实现 SHA-256加密

    今天对接第三方突然用到这个加密方式了,找了一些资料都没有特别好的,所以研究了一下找了到了两种加密,分享一下。 1、利用Apache的工具类实现加密 maven: