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.使用Helm构建ElasticSearch集群

    作者 微信:tangy8080 电子邮箱:914661180@qq.com 更新时间:2019-05-24 16:08:53 星期五 欢迎您订阅和分享我的订阅号,订阅号内会不定期分享一些我自己学习过程 ...

  2. zzuli-2266 number

    题目描述 某人刚学习了数位DP,他在某天忽然思考如下问题: 给定n,问有多少数对<x, y>满足: x, y∈[1, n], x < y x, y中出现的[0, 9]的数码种类相同 ...

  3. C# 类 (6) -继承

    继承 定义类的时候,public class Dog:Animal 表示 Dog 这个类是 继承自 Animal,冒号后面的是它的基类 继承后 的Dog 类,当调用Dog.Great() 的时候输出的 ...

  4. 编程方式建视频——GitHub 热点速览 v.21.07

    作者:HelloGitHub-小鱼干 假期过半,大家过得如何,吃好喝好了吗?GitHub 很好!本周的 GitHub Trending 又上爆款项目--github1s 装完之后,一秒 GitHub ...

  5. 如何在 VSCODE 中高效使用 R 语言

    VSCODE 配置 R 一.功能特性展示 之前一直在用 Rstudio 来编写 R,也尝试用过 Pycharm 配置 R 环境. 但是由于现在需求要同时满足 Python,R 和网站要同时开发,为了避 ...

  6. npm publish & 403 Forbidden

    npm publish & 403 Forbidden 403 Forbidden - PUT https://registry.npmjs.org/ https://www.npmjs.co ...

  7. open an iOS simulator from the terminal

    open an iOS simulator from the terminal # simulator $ open -a Simulator flutter https://flutter.dev/ ...

  8. Inspect Network Activity In Chrome DevTools

    Inspect Network Activity In Chrome DevTools https://developers.google.com/web/tools/chrome-devtools/ ...

  9. Flutter: The getter 'futureDynamicType' was called on null.

    > flutter packages pub upgrade

  10. Nodejs 使用 bcrypt 库加密和验证密码

    bcrypt install λ cnpm i bcrypt -S λ cnpm install --save @types/bcrypt example import * as bcrypt fro ...