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. codeforces 1059C. Sequence Transformation【构造】

    题目:戳这里 题意:有1,2,3...n这n个数,求一次这些数的gcd,删去一个数,直到剩下一个数为止.输出这n个gcd的最大字典序. 解题思路:一开始的gcd肯定是1,要让字典序最大,我们可以想到下 ...

  2. Linux命令学习-01——find -type

    Linux find 命令用来在指定目录下查找文件. 任何位于参数之前的字符串都将被视为欲查找的目录名.如果使用该命令时,不设置任何参数,则 find 命令将在当前目录下查找子目录与文件.并且将查找到 ...

  3. 力扣561. 数组拆分 I-C语言实现-简单题

    题目 传送门 给定长度为 2n 的整数数组 nums ,你的任务是将这些数分成 n 对, 例如 (a1, b1), (a2, b2), ..., (an, bn) ,使得从 1 到 n 的 min(a ...

  4. js arrow function return object

    js arrow function return object bug filterData: { type: Object, default: () => {}, required: true ...

  5. vue & this.$copyText

    vue & this.$copyText click copy https://www.npmjs.com/package/vue-clipboard2 <p>{{message2 ...

  6. js 深入原理讲解系列-事件循环

    js 深入原理讲解系列-事件循环 能看懂这一题你就掌握了 js 事件循环的核心原理 不要专业的术语,说人话,讲明白! Q: 输出下面 console.log 的正确的顺序? console.log(' ...

  7. React Suspense All In One

    React Suspense All In One 挂起让组件在渲染之前"等待"某些东西. 如今,Suspense仅支持一种用例:使用React.lazy动态加载组件. 将来,它将 ...

  8. PostgreSQL All In One

    PostgreSQL All In One SQL macOS https://www.postgresql.org/download/macosx/ EDB installer PostgreSQL ...

  9. Full Stack Web Development

    Full Stack Web Development Web Stacks MEAN (Mongo, Express, Angular and Node) LAMP (Linux, Apache, M ...

  10. Array.fill & String.padStart & String.padEnd

    Array.fill & String.padStart & String.padEnd Array.fill arr.fill(value[, start[, end]]) http ...