Java Sha1 加密算法

//下面四个import放在类名前面 包名后面
//import java.io.UnsupportedEncodingException;
//import java.security.MessageDigest;
//import java.security.NoSuchAlgorithmException;
//import java.util.Arrays;

public static String getSha1(String str){
    if (null == str || 0 == str.length()){
        return null;
    }
    char[] hexDigits = { ‘0‘, ‘1‘, ‘2‘, ‘3‘, ‘4‘, ‘5‘, ‘6‘, ‘7‘, ‘8‘, ‘9‘,
            ‘a‘, ‘b‘, ‘c‘, ‘d‘, ‘e‘, ‘f‘};
    try {
        MessageDigest mdTemp = MessageDigest.getInstance("SHA1");
        mdTemp.update(str.getBytes("UTF-8"));

        byte[] md = mdTemp.digest();
        int j = md.length;
        char[] buf = new char[j * 2];
        int k = 0;
        for (int i = 0; i < j; i++) {
            byte byte0 = md[i];
            buf[k++] = hexDigits[byte0 >>> 4 & 0xf];
            buf[k++] = hexDigits[byte0 & 0xf];
        }
        return new String(buf);
    } catch (NoSuchAlgorithmException e) {
        e.printStackTrace();
    } catch (UnsupportedEncodingException e) {
        e.printStackTrace();
    }
}
时间: 2024-10-11 06:31:25

Java Sha1 加密算法的相关文章

java SHA1加密算法

package com.cn.test.rsa; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import java.util.Random; public class GenerServerDigest { //生成32位随机数 public static String generatorRandom(){ String _RndData; int b = 0; int a

JAVA 上加密算法的实现用例---转载

通常 , 使用的加密算法 比较简便高效 , 密钥简短,加解密速度快,破译极其困难.本文介绍了 MD5/SHA1,DSA,DESede/DES,Diffie-Hellman 的使用. 第 1 章基础知识 1.1. 单钥密码体制 单钥密码体制是一种传统的加密算法,是指信息的发送方和接收方共同使用同一把密钥进行加解密. 通常 , 使用的加密算法 比较简便高效 , 密钥简短,加解密速度快,破译极其困难.但是加密的安全性依靠密钥保管的安全性 , 在公开的计算机网络上安全地传送和保管密钥是一个严峻的问题,并

java单向加密算法小结(1)--Base64算法

java单向加密算法小结(1)--Base64算法 从这一篇起整理一下常见的加密算法以及在java中使用的demo,首先从最简单的开始. 简单了解 Base64严格来说并不是一种加密算法,而是一种编码/解码的实现方式. 我们都知道,数据在计算机网络之间是使用字节流的方式进行传递的,所有的信息都要最终转换为0101的二进制,这本身就涉及到编码,解码的应用. Base64,顾名思义,是使用了64个基本的字符来对任意数据进行编码的一种实现方式,那既然有Base64,是不是也有Base32,Base16

SHA-1加密算法的识别

通过SHA-1加密算法原理的介绍,会了解到SHA-1在加密的过程中,有几个固定的流程(特征),在逆向分析的过程中通过这些特征可以识别出当前使用的是SHA-1的加密算法,从而更高效的分析还原算法. 整理下SHA-1加密的几个特征: 1. 处理的数据是512位为1组,补位数据的填充方式 2. 5个初始常数 H0 = 0x67452301, H1 = 0x0xefcdab89, H2 = 0x98badcfe, H3 = 0x10325476, H4 = 0xc3d2e1f0 (4个初始常数的值为主要

如何应对SHA-1加密算法升级为SHA-256

经过权威机构证实,sha1加密算法的不安全性越来越高,sha指纹造假成本越来越低,随即微软.谷歌等IT巨头相继发布弃用sha1加密算法声明,第三方认证机构自2016年1月1日起,将全面停止签发SHA1算法的数字证书.这一切表明都表明从1995年诞生至今的SHA1算法将被SHA-256所取代. 对于SSL证书和代码签名证书用户,从颁发时间点上来说,一般2014年12月之前颁发的数字证书很有可能使颁发的签名指纹为sha1加密算法的证书,2015年1月之后,一般颁发的签名指纹为sha256加密算法的证

iOS sha1加密算法

最近在项目中使用到了网络请求签名认证的方法,于是在网上找关于OC sha1加密的方法,很快找到了一个大众使用的封装好的方法,以下代码便是 首先需要添加头文件 #import<CommonCrypto/CommonDigest.h> 然后直接使用下面的方法就可以了 //sha1加密方式 - (NSString *) sha1:(NSString *)input { const char *cstr = [input cStringUsingEncoding:NSUTF8StringEncodin

Java非对称加密算法--RSA加密算法

Java非对称加密算法--RSA加密算法          RSA加密算法是一种非对称加密算法.在公开密钥加密和电子商业中RSA被广泛使用.RSA是1977年由罗纳德·李维斯特(Ron Rivest).阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)一起提出的.当时他们三人都在麻省理工学院工作.RSA就是他们三人姓氏开头字母拼在一起组成的. 1973年,在英国政府通讯总部工作的数学家克利福德·柯克斯(Clifford Cocks)在一个内部文件中提出了一个相

java HMAC_SHA1加密算法

java HMAC_SHA1加密算法 CreationTime--2018年7月14日16点46分 Author:Marydon 1.准备工作 import javax.crypto.Mac; import javax.crypto.SecretKey; import javax.crypto.spec.SecretKeySpec; import org.apache.log4j.Logger; /** * HMAC_SHA1加密算法工具类 * @explain 不可逆算法 * @author

iOS 13、MacOS Catalina不再支持SHA-1加密算法

继网络大厂.微软及Mozilla之后,苹果周三宣布,最新操作系统iOS 13及macOS 10.15(Catalina)也将不再支持SHA-1加密算法.苹果网页公布最新iOS及macOS对信任凭证的要求.所有TLS服务器证书及发布的凭证认证机构(CA)都必须使用SHA-2哈希算法.预订今年秋天释出的行动和桌机操作系统将不再信任SHA-1签章的凭证,即不再支持使用SHA-1签章产生的HTTPS联机.任何没升级到SHA-2的TLS服务器,新iPhone及Mac计算机连接这些服务器时,将出现联机失败.