package com.mlgd.api.util;
import com.alibaba.fastjson.JSON;
import com.alipay.api.AlipayApiException;
import com.alipay.api.internal.util.AlipaySignature;
import java.util.HashMap;
import java.util.Map;
/**
* 獲取token接口中sign簽名驗(yàn)簽Demo
* 算法說明:
* 使用SHA256簽名算法和RSA2048非對(duì)稱算法加密
*
* @author Administrator
*/
public class SignDemo {
/**
* 公鑰
*/
public static String publicKey_App2048 = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAnLbS4NKB4K6lSwAruObksqJpcrs7t8w51Y38I9ix9r7WCBMiAjRxWu8DNnr2t5ya/XXoioHqyMH3oEkiqsUh3FX1pG/4N/9/hRtFDJqpkCo4Z/D76wEehY+y+k8sGEO+dO8m8bNbmfpcIGDwuPl3qVBFeyJQwPguuWd32/xtzLcYk2C/Eec25++ElHobGvLkRTHHlXeZ+v8IYCIPd058bQssnFMw7nn+Lgr2kQK/2gPQ8gXs8mi1712i/dgoo8bzw9mhzkFnWXExRqzgoXH5DfIMWnlRR4l1u2qXXPU+hIKFua2776qHREmeqPkKiHA2zoMc9LVydVDTGovJjSn00wIDAQAB";
/**
* 私鑰
*/
public static String privateKey_App2048 = "MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCcttLg0oHgrqVLACu45uSyomlyuzu3zDnVjfwj2LH2vtYIEyICNHFa7wM2eva3nJr9deiKgerIwfegSSKqxSHcVfWkb/g3/3+FG0UMmqmQKjhn8PvrAR6Fj7L6TywYQ7507ybxs1uZ+lwgYPC4+XepUEV7IlDA+C65Z3fb/G3MtxiTYL8R5zbn74SUehsa8uRFMceVd5n6/whgIg93TnxtCyycUzDuef4uCvaRAr/aA9DyBezyaLXvXaL92CijxvPD2aHOQWdZcTFGrOChcfkN8gxaeVFHiXW7apdc9T6EgoW5rbvvqodESZ6o+QqIcDbOgxz0tXJ1UNMai8mNKfTTAgMBAAECggEAaWS+/7oy5JMv0Pflb63Awq5dcm6fI+XyQ0ABAW6biREgyj9r0MXKMlip9XrO7/8fcTRZ1sS2zJs+WQq2iNiZBCC/Wf5/ldF7xl3nmylsverXEnhMQ+j1yOcyfArA4fS1YtjvfP+drDlmudPYMN59bl3wzHXwj0aZzdDbGBR1F4Y+CzgRObq5092acJz/foUO5SAg/+KLhmQQ28AvBhXPTgV467ER34pDHexCgAnsLsH4KVCPxsbW0eh7vaIgUjWQ/sTAfRzFW5CLJRYO1xH6mDS42dImiUJBiWiz2fK4FRrSM05QXCHkKfXb1DpMnvrNyHyCDZfshRp7UsZoxtVeaQKBgQDvWrX7JNb3Km5JncdKRq+I8lqx+d750Ffj0Ln2wTR0lahonJyF+YL4yuP5R8+sCeFRjcPWMUkZ2oSxxT6gaHRl0Z2fJXqwuCaO9NKq9C03olPmiFXM/H4knXsr1urfcRmE5sg3k0kcmtDnxoyDBBb3w8SRb8p0jqRl/NspDq9IJwKBgQCnnNj/JgCZJkWnK7JPTqnjTlavkV1Zicz89dvQ9Eq7Ff0e/BJiEi+DrndSP2v2YOZEJr0LOpIxJwaNCgea67t055/IlsBqHBu0cBtGQ7i2ykd/3Q1v+q0dEKf3C92lvwcsLRQo01gjnDMRiiSkIf0cYdxs66wgzAxh4xd9BvwNdQKBgAEVrydxNkwudAt/XIzYnykGuCSAVmNZb1yH8J/Oplc06mt28jqlM9O+z6OskKNd9BhzhQSuen9Ufy9zDmKZtpVTitxSxiiQ3RPeximiK6ZJ5QlxarogFs5BrHI5ah0THSN+DEA8OaOYjAPQ4Ygid5wt1fE2yXsXvmT77V5VQ7QXAoGALDRNdl0LY1iYnhIEIK5aV7xdWEg6GlchXMVqh50l6FlQPE+2eW7aYRwuE97uFjhQAkFFMiTsUVI9hAzVHKJ2+cnsdfZsII/xLpEyYEGUAYEvgiVGWfX+md++rITQm9nZhmkNHAdBA4M6ZLHOIAtmuYmFnKQ67RtjWJ2PoEWrS9ECgYBW6QtwiRxoz/Xes9jHRmShVcDfwq210Qubmd81uUtDy/lVOY99qCb4rNsTu3RVrtMubD9syvivDroE6NtFrDBNHAtRaGB77Ivs+WdMdhDzNwGxVfgt6h/qJoY05+NmVPe3ExtC2fs8EWnZkXPbs2qurFxdvhBjxHIQHQwV54GaZQ==";
/**
* 字符集
*/
private static String CHARSET = "UTF-8";
public static void main(String[] args) {
/*
* 接口請(qǐng)求參數(shù),注意 所有參數(shù)名稱全部為小寫
*/
Map<String, String> map = new HashMap<String, String>();
//系統(tǒng)參數(shù)
map.put("appid", "123456789");// 授權(quán)用戶名(固定值)
map.put("timestamp", "20180801050402");// 請(qǐng)求時(shí)間戳,時(shí)區(qū)為GMT+8(北京時(shí)間)
/*
* 業(yè)務(wù)參數(shù)封裝成bizcontent雷绢, 格式為json字符串
*/
Map<String, Object> bizmap = new HashMap<String, Object>();
bizmap.put("deviceid", "66666666");// 設(shè)備編號(hào)
String bizcontent = JSON.toJSONString(bizmap);
System.out.println("業(yè)務(wù)參數(shù)JSON格式字符串:"+bizcontent);
map.put("bizcontent", bizcontent);//此處很重要护蝶,一定要傳遞bizcontent
try {
/*
* 拼接待簽名字符串 RSA2對(duì)應(yīng)的函數(shù)
*/
String content = AlipaySignature.getSignCheckContentV2(map);
System.out.println("拼接待簽名字符串:"+content);
/*
* 對(duì)數(shù)據(jù)簽名 RSA2對(duì)應(yīng)的函數(shù)和密鑰
*/
String sign = AlipaySignature.rsa256Sign(content, privateKey_App2048, CHARSET);
System.out.println("原始sign:" + sign);
map.put("sign", sign);
/*
* 進(jìn)入驗(yàn)簽流程
*/
boolean result = AlipaySignature.rsaCheckV2(map, publicKey_App2048, "UTF-8", "RSA2");
System.out.println("驗(yàn)簽結(jié)果:" + result);
}
catch (AlipayApiException e)
{
e.printStackTrace();
}
}
}
JAVA RSA簽名 解簽(利用支付寶封裝的函數(shù))
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
- 文/潘曉璐 我一進(jìn)店門婿牍,熙熙樓的掌柜王于貴愁眉苦臉地迎上來侈贷,“玉大人惩歉,你說我怎么就攤上這事∏温” “怎么了撑蚌?”我有些...
- 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)搏屑。 經(jīng)常有香客問我争涌,道長(zhǎng),這世上最難降的妖魔是什么辣恋? 我笑而不...
- 正文 為了忘掉前任亮垫,我火速辦了婚禮,結(jié)果婚禮上伟骨,老公的妹妹穿的比我還像新娘饮潦。我一直安慰自己,他們只是感情好携狭,可當(dāng)我...
- 文/花漫 我一把揭開白布继蜡。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪稀并。 梳的紋絲不亂的頭發(fā)上仅颇,一...
- 文/蒼蘭香墨 我猛地睜開眼线欲,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼明场!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起李丰,我...
- 序言:老撾萬榮一對(duì)情侶失蹤苦锨,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后趴泌,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體舟舒,經(jīng)...
- 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
- 正文 我和宋清朗相戀三年嗜憔,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了秃励。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
- 正文 年R本政府宣布,位于F島的核電站珊拼,受9級(jí)特大地震影響食呻,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜澎现,卻給世界環(huán)境...
- 文/蒙蒙 一仅胞、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧剑辫,春花似錦干旧、人聲如沸。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽峻堰。三九已至,卻和暖如春盅视,著一層夾襖步出監(jiān)牢的瞬間捐名,已是汗流浹背。 一陣腳步聲響...
- 正文 我出身青樓赏半,卻偏偏與公主長(zhǎng)得像贺归,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子断箫,可洞房花燭夜當(dāng)晚...
推薦閱讀更多精彩內(nèi)容
- RSA是目前最有影響力的公鑰加密算法拂酣,該算法基于一個(gè)十分簡(jiǎn)單的數(shù)論事實(shí):將兩個(gè)大素?cái)?shù)相乘十分容易,但那時(shí)想要對(duì)其乘...
- 開篇吐槽,文檔看不懂,文檔看不懂,文檔看不懂.重要的事說三遍.對(duì)于沒集成過支付寶SDK的人來說,官方文檔看完也是一...
- 集成支付寶的時(shí)候如果直接通過支付寶demo里將私鑰字符串寫進(jìn)沙盒埃撵,再從沙盒里讀出來時(shí)赵颅,如果報(bào)錯(cuò)提示私鑰為NULL的...
- 今天公交車上學(xué)習(xí)懂你level2 感覺挺簡(jiǎn)單的,但是為什么拿不到4顆星星呢暂刘?公交車上可以學(xué)習(xí)簡(jiǎn)單的level2 饺谬,...