SHA算法摘要处理

byte[] input="sha".getBytes();//待做消息摘要算法的原始信息,可以是任意字符串

MessageDigest sha=MessageDigest.getInstance("SHA");//使用“SHA”算法,构造MessageDigest对象

sha.update(input);//更新摘要信息

byte[] output=sha.digest();//获取消息摘要结果


SHA--Secure Hash Algorithm,安全散列算法

public  class  SHA {

         public  static  byte [] encodeSHA( byte [] data)  throws  NoSuchAlgorithmException{
                //初始化MessageDigest
              MessageDigest md=MessageDigest.getInstance ( "sha"  );
//            MessageDigest md=MessageDigest.getInstance("sha-256");
//            MessageDigest md=MessageDigest.getInstance("sha-384");
//            MessageDigest md=MessageDigest.getInstance("sha-512");
                return  md.digest(data);
       }
       
         public  static  String encodeSHAHex( byte [] data)  throws  Exception{
                byte [] b=encodeSHA(data);
                return  new  String(Hex.encode(b));  //十六进制处理
       }
       
         public  static  void  main(String[] args)  throws  Exception {
                //  TODO  Auto-generated method stub
              String str=  "sha消息摘要"  ;
              
              String data1= encodeSHAHex(str.getBytes());
              System.  out .println(data1);
       }

}

public  class  SHA {

         public  static  String encodeSHA( byte [] data)  throws  NoSuchAlgorithmException{  
//            return DigestUtils.sha(data);//对sha算法进行包装,返回的是String
//            return DigestUtils.shaHex(data);//不但包装,而且进行十六进制处理
              
//            return DigestUtils.sha256(data);
//            return DigestUtils.sha256Hex(data);
              
//            return DigestUtils.sha384(data);
//            return DigestUtils.sha384Hex(data);
              
//            return DigestUtils.sha512(data);
                return  DigestUtils.sha512Hex(data);
       }
       
       
         public  static  void  main(String[] args)  throws  Exception {
                //  TODO  Auto-generated method stub
              String str=  "sha消息摘要"  ;
              
              String data1= encodeSHA(str.getBytes());
              System.  out .println(data1);
       }

}



转载于:https://www.cnblogs.com/littlefishxu/p/3969184.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值