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

}


SHA算法摘要处理的更多相关文章

  1. SHA信息摘要

    SHA算法是在MD4的基础上演进而来的,通过SHA算法能够获得一个固定长度的摘要信息.   SHA算法系列有SHA-1(也成为SHA),SHA-224,SHA-256,SHA-384和SHA-512这 ...

  2. 密码学系列之:NIST和SHA算法

    目录 简介 SHA1 SHA2 SHA3 简介 SHA算法大家应该都很熟悉了,它是一个用来计算hash的算法,目前的SHA算法有SHA1,SHA2和SHA3种.这三种算法都是由美国NIST制定的. N ...

  3. SHA算法

    安全Hash函数(SHA)是使用最广泛的Hash函数.由于其他曾被广泛使用的Hash函数都被发现存在安全隐患,从2005年至今,SHA或许是仅存的Hash算法标准. SHA发展史 SHA由美国标准与技 ...

  4. SHA算法(及示例)演变历史

    安全散列算法(英语:Secure Hash Algorithm,缩写为SHA)是一个密码散列函数家族,是FIPS所认证的安全散列算法.能计算出一个数字消息所对应到的,长度固定的字符串(又称消息摘要)的 ...

  5. SHA算法:签名串SHA算法Java语言参考(SHAHelper.java)

    SHAHelper.java package com.util; /** * @author wangxiangyu * @date:2017年10月16日 上午9:00:47 * 类说明:SHA签名 ...

  6. Splay算法摘要

    先介绍变量定义 int n; struct Node { //Splay节点定义 ],val,num,siz; //fa:它爸爸:son它儿子,左0右1:val:这个节点的值 //num:这个值的数量 ...

  7. 【转】java MessageDigest类的作用 :提供信息摘要 算法( MD5 或 SHA 等)的功能

    一.结构和概述: java.lang.Object java.security.MessageDigestSpi java.security.MessageDigest 声明:public abstr ...

  8. SHA安全散列算法简析

    1 SHA算法简介 1.1 概述 SHA (Secure Hash Algorithm,译作安全散列算法) 是美国国家安全局 (NSA) 设计,美国国家标准与技术研究院(NIST) 发布的一系列密码散 ...

  9. 散列算法-SHA

    一种生成信息摘要的算法.主要用于数据一致性和完整性的校验 SHA算法分很多版本,最大的分类是SHA-1和SHA-2.SHA-2包括很多子版本,SHA-224,SHA-256,SHA-384,SHA-5 ...

随机推荐

  1. DQL 数据查询语言

    查询数据(SELECT) # 查询所有数据 - 很危险,数据量过大,容易导致内存溢出而宕机 mysql> select * from student; # 先查询数据总量,然后决定是否可以查询所 ...

  2. VS中使用TreeView的Checked属性问题

    VS中使用TreeView,当需要用到Checked属性,并需要同步子节点和父节点的Checked属性时,若使用AfterCheck事件会导致死循环,这里我使用的是NodeMouseClick事件.代 ...

  3. 4.Redis客户端的使用

    标题 : 4.Redis客户端的使用 目录 : Redis 序号 : 4 Console.WriteLine($"北京和天津之间的距离是:{distance}公里"); #### ...

  4. WSL2+Terminal+VScode配置调试

    最近几天一直想找个方法把VMware虚拟机和远程连接工具MobaXterm这一组配合替换掉,因为每次开启虚拟机操作Ubuntu都需要占用很大的内存,而且要等好久好久才能开启!!!后面还要使用MobaX ...

  5. JQuery和js实现简单的霓虹灯

    注意jquery文件的路径要正确. <!DOCTYPE html> <html> <head> <title></title> <me ...

  6. macOS 没有鼠标 怎么使用 快捷键

    macOS 没有鼠标 怎么使用 快捷键 mini 链接蓝牙鼠标 菜单选择 光标聚焦 上下选择 确认,选中 用键盘浏览菜单 若要使用这些快捷键,请先按下 Control-F2 或 Fn-Control- ...

  7. how to use brew install gpg

    how to use brew install gpg https://formulae.brew.sh/formula/gnupg $ brew install gnupg https://gith ...

  8. 使用 js 实现十大排序算法: 冒泡排序

    使用 js 实现十大排序算法: 冒泡排序 冒泡排序 refs xgqfrms 2012-2020 www.cnblogs.com 发布文章使用:只允许注册用户才可以访问!

  9. holy shit CSDN

    holy shit CSDN 垃圾 CSDN 到处都是垃圾文章, 无人子弟 到处都是垃圾广告,看的恶心 毫无底线,窃取别人的知识成果,毫无版权意识 垃圾爬虫,垃圾小号 ...等等 Google Sea ...

  10. npm & cli & cp: no such file or directory

    npm & cli & cp: no such file or directory empty files bug https://npm.runkit.com/hui-cli htt ...