• Java代码实现sha256加密


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

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

    代码如下

    package com.xxl.job.admin.utils;

    import java.nio.charset.StandardCharsets;
    import java.security.MessageDigest;
    import java.security.NoSuchAlgorithmException;

    /**
    * sha256加密工具类
    *
    * @author liHu
    * @version 1.0
    * @date 2021/8/3 10:48
    * @since JDK 1.8
    */
    public class EncryptSha256Util {
    public static void main(String[] args) {
    String sha256Str = getSha256Str("123456");
    System.out.println(sha256Str);
    }
    /**
    * sha256加密
    *
    * @param str 要加密的字符串
    * @return 加密后的字符串
    */
    public static String getSha256Str(String str) {
    MessageDigest messageDigest;
    String encodeStr = "";
    try {
    messageDigest = MessageDigest.getInstance("SHA-256");
    messageDigest.update(str.getBytes(StandardCharsets.UTF_8));
    encodeStr = byte2Hex(messageDigest.digest());
    } catch (NoSuchAlgorithmException e) {
    e.printStackTrace();
    }
    return encodeStr;
    }

    /**
    * sha256加密 将byte转为16进制
    *
    * @param bytes 字节码
    * @return 加密后的字符串
    */
    private static String byte2Hex(byte[] bytes) {
    StringBuilder stringBuilder = new StringBuilder();
    String temp;
    for (byte aByte : bytes) {
    temp = Integer.toHexString(aByte & 0xFF);
    if (temp.length() == 1) {
    //1得到一位的进行补0操作
    stringBuilder.append("0");
    }
    stringBuilder.append(temp);
    }
    return stringBuilder.toString();
    }
    }

    ————————————————
    版权声明:本文为CSDN博主「菜鸟fox」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/lh155136/article/details/119325554

  • 相关阅读:
    开博语
    ch8 固定宽度、流式、弹性布局
    ch8 让div居中--使用外边距
    ch8 基于浮动的布局(两列浮动布局、三列浮动布局)
    ch3 盒模型、定位
    事件类型--鼠标与滚轮事件
    事件类型-UI事件、焦点事件
    事件对象
    事件处理程序
    内存和性能--事件委托、移除事件处理程序
  • 原文地址:https://www.cnblogs.com/javalinux/p/16391839.html
Copyright © 2020-2023  润新知