美文网首页Java 杂谈
关于Java实现SHA算法加密

关于Java实现SHA算法加密

作者: 杨章隐 | 来源:发表于2019-01-19 18:35 被阅读28次

首先我们在实际开发过程中肯定是需要对明文密码进行加密的,这样,就算密码被获取,他们获取到的也是一串乱码。
而目前主流的加密算法有MD5和SHA,这篇文章就带你来实现SHA加密

import java.math.BigInteger;
import java.security.MessageDigest;

public class SHAEncryption {
    public static byte[] encryptSHA(byte[] data, String shaN) throws Exception {

        MessageDigest sha = MessageDigest.getInstance(shaN);
        sha.update(data);
        return sha.digest();

    }
    
      public static String encryptFlychordPwd(String str) {
            byte[] outputData = new byte[0];
            try {
                outputData =  encryptSHA(str.getBytes(), "SHA-256");
                return new BigInteger(1, outputData).toString(16);
            } catch (Exception e) {
                e.printStackTrace();
            }
            return "";
        }
          
      public static void main(String[] args) {
            //加密123456
            System.out.println(ss.encryptFlychordPwd("123456"));    
      }
}

很多人肯定会出来反驳,加密简单的123456可以在某些解密网站直接解密出来。
在这样的情况下,我们可以尝试在字符串追加其他文字如yangzhangyin,实际如下:

import java.math.BigInteger;
import java.security.MessageDigest;

public class SHAEncryption {
    public static byte[] encryptSHA(byte[] data, String shaN) throws Exception {

        MessageDigest sha = MessageDigest.getInstance(shaN);
        sha.update(data);
        return sha.digest();

    }
    
      public static String encryptFlychordPwd(String str) {
            byte[] outputData = new byte[0];
            try {
                outputData =  encryptSHA((str+"yangzhangyin").getBytes(), "SHA-256");
                return new BigInteger(1, outputData).toString(16);
            } catch (Exception e) {
                e.printStackTrace();
            }
            return "";
        }
          
      public static void main(String[] args) {
            //加密123456
            System.out.println(ss.encryptFlychordPwd("123456"));    
      }
}

这样就解决了简单密码被解密的问题啦。

相关文章

网友评论

    本文标题:关于Java实现SHA算法加密

    本文链接:https://www.haomeiwen.com/subject/yhmzdqtx.html