java 用hmac-sha1进行签名

    public static String getSignature(String s) throws NoSuchAlgorithmException, UnsupportedEncodingException, InvalidKeyException {//        String Token = "O-xJVg7ZEXrtjWDNhzu05R7iZtyyXmv6NGt-xymKg0eOLCwwBCIgBBaDqJabzbPVCez1BvcI8q7blDGy4ZeCQQ";        String key = "O-xJVg7ZEXrtjWDNhzu05R7iZtyyXmv6NGt-xymKg0eOLCwwBCIgBBaDqJabzbPVCez1BvcI8q7blDGy4ZeCQQ";        System.out.println(key);        String request = s.toLowerCase();        Mac mac = Mac.getInstance("HmacSHA1");        SecretKeySpec keySpec = new SecretKeySpec(key.getBytes(), "HmacSHA1");        mac.init(keySpec);        mac.update(request.getBytes());        byte[] encryptedBytes = mac.doFinal();        return Base64.encodeBase64String(encryptedBytes);    }
时间: 2024-10-04 22:29:59

java 用hmac-sha1进行签名的相关文章

java 创建 HMAC 签名

ava 创建 HMAC 签名 psd素材 1. []ComputopTest.java package com.javaonly.hmac.test; import java.io.IOException; import java.security.InvalidKeyException; import java.security.KeyManagementException; import java.security.NoSuchAlgorithmException; import javax

java/php/c#版rsa签名以及java验签实现

在开放平台领域,需要给isv提供sdk,签名是Sdk中需要提供的功能之一.由于isv使用的开发语言不是单一的,因此sdk需要提供多种语言的版本.譬如java.php.c#.另外,在电子商务尤其是支付领域,对安全性的要求比较高,所以会采用非对称密钥RSA 本文主要介绍如何基于java.php.c#在客户端使用rsa签名,然后在服务端使用Java验签. 基于openssl生成RSA公私钥对 a)从网上下载openssl工具:http://www.slproweb.com/products/Win32

java/php/c#版rsa签名以及验签实现

本文为转载,请转载请注明地址: 原文地址为        http://xw-z1985.iteye.com/blog/1837376 在开放平台领域,需要给isv提供sdk,签名是Sdk中需要提供的功能之一.由于isv使用的开发语言不是单一的,因此sdk需要提供多种语言的版 本.譬如java.php.c#.另外,在电子商务尤其是支付领域,对安全性的要求比较高,所以会采用非对称密钥RSA 本文主要介绍如何基于java.php.c#在客户端使用rsa签名,然后在服务端使用Java验签. 基于ope

Java使用RSA加密解密签名及校验

由于项目要用到非对称加密解密签名校验什么的,于是参考<Java加密解密的艺术>写一个RSA进行加密解密签名及校验的Demo,代码很简单,特此分享! RSA加密解密类: package com.ihep; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; imp

java翻译lua+c+openssl签名项目

原来项目中用openresty nginx+lua实现server,lua调用c动态链接库,来使用openss做签名,并生成130字节(128签名+2位自定义字节)长度的文件. nginx: location /get/key { content_by_lua_file '/data/www/sign.lua'; } sign.lua local ffi = require "ffi" --动态链接gen_sig_ex_x.c,load("")名字规则,lib***

Android JNI之调用JAVA方法的返回值签名

从http://blog.csdn.net/lonelyroamer/article/details/7932787截取的 如何签名: 下面看看Sign签名如何写,来表示要取得的属性或方法的类型. 1.普通类型签名 2.引用类型签名 object     L开头,然后以/ 分隔包的完整类型,后面再加:   比如说String    签名就是   Ljava/lang/String; Array      以[ 开头,在加上数组元素类型的签名            比如int[]   签名就是[I

win10 powershell 验证下载的包的MD5/sha1的签名值

巧用Win10自带的PowerShell命令校验文件的Hash值(MD5.SHA1/256等) 发表于2017年3月8日由MS酋长 通常为了保证我们从网上下载的文件的完整性和可靠性,我们把文件下载下来以后都会校验一下MD5值或SHA1值(例如验证下载的Win10 ISO镜像是否为原始文件),这一般都需要借助专门的MD5检验工具来完成.但其实使用Windows系统自带的Windows PowerShell运行命令即可进行文件MD5.SHA1值校验.方法如下: 在Win10开始按钮上点击右键,选择"

java学习-排序及加密签名时数据排序方式

排序有两种, 基本数据类型的包装类Integer, Float, Double,Long,Byte等都实现的Comparable接口,用于列表List或数组arrays的排序 Comparable<Integer>接口方法的实现,对象列表的升序降序接口 我们通过重写改接口方法,可以对列表进行升序或降序排列. public int compareTo(T o); This interface imposes a total ordering on the objects of each clas

Java RSA (SHA1withRSA)签名和验签

static { try { SIGNATURE = Signature.getInstance("SHA1withRSA", "BC"); } catch (NoSuchAlgorithmException | NoSuchPaddingException | NoSuchProviderException e) { throw Throwables.propagate(e); } } public static String getSignature(Map&l

签名、BOM头、编码、Windows记事本编码、java编码解码的那些事

对于Windows记事本: ANSI :GB2312 java中应使用GBK解码 Unicode :有签名的UTF-16LE java中应使用UTF-16解码 Unicode big endian :有签名的UTF-16BE java中应使用UTF-16解码 UTF-8 :有签名的UTF-8 java中只能手动去掉签名了再用UTF-8解码了 对于java程序的解码: GBK :GBK编码可以兼容GB2312,因此用GBK处理GBK.GB2312两种编码 UTF-8 :无签名的UTF-8 UTF-