精华内容
下载资源
问答
  • sha1加密
    2022-02-22 16:59:02

    /**

    * sha1加密

    *

    * @param decript

    * @return

    */

    public String sha1(String decript) {

    if (StringUtils.isBlank(decript)) {

    return null;

    }

    return DigestUtils.sha1Hex(decript);

    }

    更多相关内容
  • 本文实例讲述了PHP实现的sha1加密功能。分享给大家供大家参考,具体如下: function encryptTokey($data){ $apikey = 'testapikey111'; $ps1 = sha1($apikey . strtolower($data)); $ps1 = strtoupper($ps1); $...
  • 易语言Base64_hmac_sha1加密算法源码,Base64_hmac_sha1加密算法,Base64_hmac_sha1,safe_add,bit_rol,sha1_kt,sha1_ft,rstr2b64,rstr2binb,binb_sha1,binb2rstr,rstr_hmac_sha1,逻辑右移
  • Java中实现SHA1加密

    2019-02-19 10:28:32
    此资源主要是实现Java中的SHA1加密方式,将资源下载后直接在程序中复制即可使用。
  • 开发微信公众号过程中,需要使用sha1加密算法与微信api对接,特此学习下sha1算法的实现。 1:安全哈希算法(Secure Hash Algorithm)主要适用于数字签名标准 (Digital Signature Standard DSS)里面定义的数字签名...
  • asp版hmac_sha1加密方式,支持中英文,和PHP的hash_hmac加密结果完全一样(有php版的对比测试),与java、php、python、js 一致。支持中文utf-8编码
  • 易语言Base64_hmac_sha1加密算法源码
  • 易语言Base64_hmac_sha1加密算法源码 最近在研究 阿里云的 需要用到 Base64_hmac_sha1 算法加密,找了好多,都是JS版的 刚从别的地方找到个 纯算法的 只用到核心库,就实现的代码, 速度也比JS的快很多,特整理了下...
  • 在百度找的几个asp sha1(vbs写的)加密结果和asp.net的sha1加密结果不一样,asp.net sha1加密完后是40位,网上找的asp sha1加密是64位,还以为asp.net做了截取(如网上的asp的md5机密和asp.net位数不一样,是做了...
  • sha1加密文件_youlanjx.js

    2021-05-31 09:25:04
    sha1加密,下载引入js,使用sha1() 方法即可对需要加密的内容进行加密
  • sha1.js和sha1-2.2alpha.js文件下载。通过js给对应字段进行sha1加密解密的操作。
  • 主要为大家详细介绍了JavaScript SHA1加密算法实现代码,具有一定的参考价值,感兴趣的朋友可以参考一下
  • asp hmac_sha1加密算法完整源码_本人用着的版本,微信分享必备
  • js中sha1加密UTF-8处理

    2018-09-26 15:48:28
    加密算法经过UTF-8处理后,可以让加密的字符串和在线加密出来的字符串得出一样的结果,如果没有utf-8处理,的出来的结果不一样
  • 活字格-SHA1加密.zip

    2021-09-09 16:34:06
    活字格-SHA1加密
  • SHA1加密

    千次阅读 2020-12-31 16:30:56
    SHA是一种数据加密算法,该算法经过加密专家多年来的发展和改进已日益完善,现在已成为公认的最安全的散列算法之一,并被广泛使用。该算法的思想是接收一段明文,然后以一种不可逆的方式将它转换成一段(通常更小)...

    前言

    SHA是一种数据加密算法,该算法经过加密专家多年来的发展和改进已日益完善,现在已成为公认的最安全的散列算法之一,并被广泛使用。该算法的思想是接收一段明文,然后以一种不可逆的方式将它转换成一段(通常更小)密文,也可以简单的理解为取一串输入码(称为预映射或信息),并把它们转化为长度较短、位数固定的输出序列即散列值(也称为信息摘要或信息认证代码)的过程。散列函数值可以说是对明文的一种“指纹”或是“摘要”,所以对散列值的数字签名就可以视为对此明文的数字签名。

     

    何谓数字签名

    数字签名主要用到了非对称密钥加密技术与数字摘要技术。数字签名技术是将摘要信息用发送者的私钥加密,与原文一起传送给接收者。接收者只有用发送者的公钥才能解密被加密的摘要信息,然后用HASH函数对收到的原文产生一个摘要信息,与解密的摘要信息对比。 如果相同,则说明收到的信息是完整的,在传输过程中没有被修改,否则说明信息被修改过.

    因此数字签名能够验证信息的完整性。 数字签名是个加密的过程,数字签名验证是个解密的过程。

     

    加密工具类

     

    package com.web.api.abc.util;
    
    import java.security.MessageDigest;
    
    import com.shenjun.util.ReadProperties;
    
    /**
     * @ClassName: SHA1
     * @Description:SHA1加密工具类
     * @Author tjf
     * @DateTime 2020年12月29日 上午10:51:30
     */
    
    public class SHA1 {
    	
    	
    	private static final String KEY = ReadProperties.getProperty("xy_bank", "secret_key");// 秘钥
    	
    	public static void main(String[] args) {
    		String xml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><wxlifepay><version>1.0.1</version></wxlifepay>";
    		String str = encode(xml + KEY).toUpperCase();
    		System.err.println(str);
    	
    	}
    	
    
    	private static final char[] HEX = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e',
    			'f' };
    
    	private static String getFormattedText(byte[] bytes) {
    		int len = bytes.length;
    		StringBuilder buf = new StringBuilder(len * 2);
    		// 把密文转换成十六进制的字符串形式
    		for (int j = 0; j < len; j++) {
    			buf.append(HEX[(bytes[j] >> 4) & 0x0f]);
    			buf.append(HEX[bytes[j] & 0x0f]);
    		}
    		return buf.toString();
    	}
    
    	public static String encode(String str) {
    		if (str == null) {
    			return null;
    		}
    		try {
    			MessageDigest messageDigest = MessageDigest.getInstance("SHA1");
    			messageDigest.update(str.getBytes());
    			return getFormattedText(messageDigest.digest());
    		} catch (Exception e) {
    			throw new RuntimeException(e);
    		}
    	}
    
    }
    

     

    展开全文
  • 下面就是ASP.NET中几种加密方法。加密算法有两种,也就是上面提到的MD5和SHA1,这里我举的例子是以MD5为例,SHA1大致相同,只是使用的类不一样。
  • Android中Sha1加密和RSA加密解密(记录)-附件资源
  • VC++ SHA1加密算法

    2015-01-17 11:34:12
    非常好用的VC++ SHA1加密算法!OKOK!
  • java SHA1加密

    热门讨论 2013-07-23 14:57:25
    简单的SHA1加密
  • js的sha1加密方法

    2018-05-30 11:28:31
    JavaScript的sha1加密方法代码,可以直接拿来使用,同样适用微信小程序
  • SHA1加密-loadrunner加密

    千次阅读 2021-09-30 17:57:42
    在测试项目中遇到了登录需要SHA1加密的,而loadrunner测试工具对于这些加密算法没有做很好的集成,只有自己去写。今天分享的是使用.h文件头的形式进行导入调用。 SHA1具体加密算法过程不会不做讲解,还是熟悉的...

            在测试项目中遇到了登录需要SHA1加密的,而loadrunner测试工具对于这些加密算法没有做很好的集成,只有自己去写。今天分享的是使用.h文件头的形式进行导入调用。

            SHA1具体加密算法过程不会不做讲解,还是熟悉的套路,直接上完整代码:

    #ifndef _SHA1_H_
    #define _SHA1_H_
    typedef struct SHA1Context{
    	unsigned Message_Digest[5];      
    	unsigned Length_Low;             
    	unsigned Length_High;            
    	unsigned char Message_Block[64]; 
    	int Message_Block_Index;         
    	int Computed;                    
    	int Corrupted;                   
    } SHA1Context;
    
    void SHA1Reset(SHA1Context *);
    int SHA1Result(SHA1Context *);
    void SHA1Input( SHA1Context *,const char *,unsigned);
    #endif
    
    
    #define SHA1CircularShift(bits,word) ((((word) << (bits)) & 0xFFFFFFFF) | ((word) >> (32-(bits))))
    
    void SHA1ProcessMessageBlock(SHA1Context *);
    void SHA1PadMessage(SHA1Context *);
    
    void SHA1Reset(SHA1Context *context){// 初始化动作
    	context->Length_Low             = 0;
    	context->Length_High            = 0;
    	context->Message_Block_Index    = 0;
    
    	context->Message_Digest[0]      = 0x67452301;
    	context->Message_Digest[1]      = 0xEFCDAB89;
    	context->Message_Digest[2]      = 0x98BADCFE;
    	context->Message_Digest[3]      = 0x10325476;
    	context->Message_Digest[4]      = 0xC3D2E1F0;
    
    	context->Computed   = 0;
    	context->Corrupted  = 0;
    }
    
    
    int SHA1Result(SHA1Context *context){// 成功返回1,失败返回0
    	if (context->Corrupted) {
    		return 0;
    	}
    	if (!context->Computed) {
    		SHA1PadMessage(context);
    		context->Computed = 1;
    	}
    	return 1;
    }
    
    
    void SHA1Input(SHA1Context *context,const char *message_array,unsigned length){
    	if (!length) return;
    
    	if (context->Computed || context->Corrupted){
    		context->Corrupted = 1;
    		return;
    	}
    
    	while(length-- && !context->Corrupted){
    		context->Message_Block[context->Message_Block_Index++] = (*message_array & 0xFF);
    
    		context->Length_Low += 8;
    
    		context->Length_Low &= 0xFFFFFFFF;
    		if (context->Length_Low == 0){
    			context->Length_High++;
    			context->Length_High &= 0xFFFFFFFF;
    			if (context->Length_High == 0) context->Corrupted = 1;
    		}
    
    		if (context->Message_Block_Index == 64){
    			SHA1ProcessMessageBlock(context);
    		}
    		message_array++;
    	}
    }
    
    void SHA1ProcessMessageBlock(SHA1Context *context){
    	const unsigned K[] = {0x5A827999, 0x6ED9EBA1, 0x8F1BBCDC, 0xCA62C1D6 };
    	int         t;                
    	unsigned    temp;             
    	unsigned    W[80];            
    	unsigned    A, B, C, D, E;    
    
    	for(t = 0; t < 16; t++) {
    	W[t] = ((unsigned) context->Message_Block[t * 4]) << 24;
    	W[t] |= ((unsigned) context->Message_Block[t * 4 + 1]) << 16;
    	W[t] |= ((unsigned) context->Message_Block[t * 4 + 2]) << 8;
    	W[t] |= ((unsigned) context->Message_Block[t * 4 + 3]);
    	}
    	
    	for(t = 16; t < 80; t++)  W[t] = SHA1CircularShift(1,W[t-3] ^ W[t-8] ^ W[t-14] ^ W[t-16]);
    
    	A = context->Message_Digest[0];
    	B = context->Message_Digest[1];
    	C = context->Message_Digest[2];
    	D = context->Message_Digest[3];
    	E = context->Message_Digest[4];
    
    	for(t = 0; t < 20; t++) {
    		temp =  SHA1CircularShift(5,A) + ((B & C) | ((~B) & D)) + E + W[t] + K[0];
    		temp &= 0xFFFFFFFF;
    		E = D;
    		D = C;
    		C = SHA1CircularShift(30,B);
    		B = A;
    		A = temp;
    	}
    	for(t = 20; t < 40; t++) {
    		temp = SHA1CircularShift(5,A) + (B ^ C ^ D) + E + W[t] + K[1];
    		temp &= 0xFFFFFFFF;
    		E = D;
    		D = C;
    		C = SHA1CircularShift(30,B);
    		B = A;
    		A = temp;
    	}
    	for(t = 40; t < 60; t++) {
    		temp = SHA1CircularShift(5,A) + ((B & C) | (B & D) | (C & D)) + E + W[t] + K[2];
    		temp &= 0xFFFFFFFF;
    		E = D;
    		D = C;
    		C = SHA1CircularShift(30,B);
    		B = A;
    		A = temp;
    	}
    	for(t = 60; t < 80; t++) {
    		temp = SHA1CircularShift(5,A) + (B ^ C ^ D) + E + W[t] + K[3];
    		temp &= 0xFFFFFFFF;
    		E = D;
    		D = C;
    		C = SHA1CircularShift(30,B);
    		B = A;
    		A = temp;
    	}
    	context->Message_Digest[0] = (context->Message_Digest[0] + A) & 0xFFFFFFFF;
    	context->Message_Digest[1] = (context->Message_Digest[1] + B) & 0xFFFFFFFF;
    	context->Message_Digest[2] = (context->Message_Digest[2] + C) & 0xFFFFFFFF;
    	context->Message_Digest[3] = (context->Message_Digest[3] + D) & 0xFFFFFFFF;
    	context->Message_Digest[4] = (context->Message_Digest[4] + E) & 0xFFFFFFFF;
    	context->Message_Block_Index = 0;
    }
    
    void SHA1PadMessage(SHA1Context *context){
    	if (context->Message_Block_Index > 55) {
    		context->Message_Block[context->Message_Block_Index++] = 0x80;
    		while(context->Message_Block_Index < 64)  context->Message_Block[context->Message_Block_Index++] = 0;
    		SHA1ProcessMessageBlock(context);
    		while(context->Message_Block_Index < 56) context->Message_Block[context->Message_Block_Index++] = 0;
    	} else {
    		context->Message_Block[context->Message_Block_Index++] = 0x80;
    		while(context->Message_Block_Index < 56) context->Message_Block[context->Message_Block_Index++] = 0;
    	}
    	context->Message_Block[56] = (context->Length_High >> 24 ) & 0xFF;
    	context->Message_Block[57] = (context->Length_High >> 16 ) & 0xFF;
    	context->Message_Block[58] = (context->Length_High >> 8 ) & 0xFF;
    	context->Message_Block[59] = (context->Length_High) & 0xFF;
    	context->Message_Block[60] = (context->Length_Low >> 24 ) & 0xFF;
    	context->Message_Block[61] = (context->Length_Low >> 16 ) & 0xFF;
    	context->Message_Block[62] = (context->Length_Low >> 8 ) & 0xFF;
    	context->Message_Block[63] = (context->Length_Low) & 0xFF;
    
    	SHA1ProcessMessageBlock(context);
    }
    
    int sha1_hash(const char *source, char *lrvar){// Main
    	SHA1Context sha;
    	char buf[128];
    
    	SHA1Reset(&sha);
    	SHA1Input(&sha, source, strlen(source));
    
    	if (!SHA1Result(&sha)){
    		lr_error_message("SHA1 ERROR: Could not compute message digest");
    		return -1;
    	} else {
    		memset(buf,0,sizeof(buf));
    		sprintf(buf, "%08X%08X%08X%08X%08X", sha.Message_Digest[0],sha.Message_Digest[1],
    		sha.Message_Digest[2],sha.Message_Digest[3],sha.Message_Digest[4]);
    		lr_save_string(buf, lrvar);
    		return strlen(buf);
    	}
    }
    

            直接在脚本目录新建文件,代码贴进去,修改名称为SHA1.h,然后在globals.h中引入此文件,左侧右击-Add Files Script,导入。

       现在就万事大吉了,直接在脚本中进行方法调用就可以了,直接上代码:

    char A[30]="123456",
    sha1_hash(A,"SHA1");
    lr_output_message("SHA1加密结果: %s",lr_eval_string("{SHA1}"));

       最后,我们来看一下运行结果,可以找一个在线网站对比一下:

     

     

            复制粘贴一顿操作猛如虎,你会了吗?

            相互学习,共同进步!

    展开全文
  • asp版hmac_sha1加密方式,支持中英文,和PHP的hash_hmac加密结果完全一样(有php版的对比测试),与java、php、python、js 一致。支持中文utf-8编码
  • sha1.js(js版sha1加密

    热门讨论 2013-09-01 16:47:17
    sha1.js(js版sha1加密
  • JAVA SHA1加密-微信签名适用

    热门讨论 2014-08-15 15:33:02
    JAVA SHA1加密算法,适合微信支付签名用
  • 本文实例讲述了JS实现的base64加密、md5加密sha1加密。分享给大家供大家参考,具体如下: 1、base64加密 在页面中引入base64.js文件,调用方法为: <!DOCTYPE HTML> <html> <head> <meta ...
  • asp实现的sha1加密解密代码,亲测可以使用,微信分享中必备。
  • SHA256_SHA1加密

    2020-11-27 16:12:42
    SHA256_SHA1加密

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 122,526
精华内容 49,010
关键字:

sha1加密