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);
       }

}


最新文章

  1. UI控件(UIWebView)
  2. 在SQL Server中将数据导出为XML和Json
  3. SharePoint 2013 配置HTTPS(SSL)
  4. Ceph分层存储分析
  5. ReactiveCocoa与Functional Reactive Programming
  6. uva 11489
  7. hdoj 2023 求平均成绩
  8. hdu5322 Hope(dp)
  9. LinkList的实现
  10. uploadify,实际开发案例【选择完文件点击上传才上传】
  11. AngularJs 通过 ocLazyLoad 实现动态(懒)加载模块和依赖-转
  12. 第四章 go语言 数组、切片和映射
  13. Kubernetes实战:目录
  14. java项目---用java实现二叉平衡树(AVL树)并打印结果(详)(3星)
  15. C语言博客作业5--指针
  16. com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector@1035079 -- APPARENT DEADLOCK!!! Complete Status:
  17. Java强引用、软引用、弱引用及虚引用深入探讨
  18. 【CF960G】Bandit Blues(第一类斯特林数,FFT)
  19. android View的点击无效的原因
  20. FastDFS分布文件系统Java客户端集成

热门文章

  1. kubernetes进阶(四)服务暴露-ingress控制器之traefik
  2. HDU - 4725 The Shortest Path in Nya Graph 【拆点 + dijkstra】
  3. 使用Benchmark.NET测试代码性能
  4. Web 前端如何优雅的处理海量数据
  5. css variables & CSS 变量
  6. js 金融数字格式化
  7. element ui 停止维护了
  8. React & Dva & Actions & dispatch & effects
  9. iOS图片预览、放大缩小
  10. 将日志发送到log日志文件中