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. 网络安全-企业环境渗透2-wordpress任意文件读&&FFmpeg任意文件读

    参考 http://prontosil.club/posts/c08799e1/ 一. 实验名称 企业环境渗透2 二. 实验目的 [实验描述] 操作机的操作系统是kali 进入系统后默认是命令行界面 ...

  2. BZOJ 3676 回文串(回文树)题解

    题意: 一个回文的价值为长度 * 出现次数,问一个串中的子串的最大回文价值 思路: 回文树模板题,跑PAM,然后计算所有节点出现次数. 参考: 回文串问题的克星--Palindrome Tree(回文 ...

  3. IDEA如何安装lombok

    官方github:https://github.com/mplushnikov/lombok-intellij-plugin 使用教程在readme中都有写,很详细. 在这里我只是总结一下: 步骤: ...

  4. php foundation knowledge!

    php foundation knowledge! 1 <?php 2 $p = "PII"; 3 define("XPI",3.1415926); 4 ...

  5. 你不知道的 JS (系列丛书) - 第二版

    你不知道的 JS (系列丛书) - 第二版 You Don't Know JS (book series) - 2nd Edition https://github.com/learning-js-b ...

  6. TypeScript 4.0 New Features

    TypeScript 4.0 New Features $ npm install typescript@beta https://devblogs.microsoft.com/typescript/ ...

  7. javascript change array length methods

    javascript change array length methods Array 改变数组长度的方法 push, pop shift, unshift, splice, fill, 不改变数组 ...

  8. Flutter: SliverAppBar 应用程序栏与滚动视图集成,以便它可以根据滚动偏移量在高度上变化

    API class _MyHomeState extends State<MyHome> with SingleTickerProviderStateMixin { @override W ...

  9. 「NGK每日快讯」2021.2.3日NGK公链第92期官方快讯!

  10. 磁盘使用率/文件大小查看指南du & df

    一.前言 磁盘使用率,文件大小查看是我们日常使用命令.这两个是配合使用的,磁盘使用率过高告警了,那么得找到对应的磁盘(df),然后找到对应磁盘下的哪个目录和文件占用了空间(du). df(Disk f ...