node-rsa實現(xiàn)解密(RSA解密,加密同理)

最近在跟客戶的其他供應(yīng)商對接微信平臺筋夏,我們公司的微信平臺使用node搭建的蒂胞,對方未知,對方平臺內(nèi)向外跳轉(zhuǎn)加一個額外的加密token參數(shù)条篷,客戶方希望我們拿到參數(shù)后骗随,能進(jìn)行進(jìn)一步的銜接操作和處理,所以今天在這里我會把自己在已經(jīng)拿到私鑰的情況下如何在node下RSA解密赴叹,

一? 選擇模塊node-rsa

????????首先當(dāng)然是去尋找node和rsa相關(guān)的模塊鸿染,找到ursa和node-rsa等等;

????????因為多次安裝ursa失敗乞巧,度娘牡昆,google也沒得到解決,所以我這里選擇了node-rsa

cnpm install node-rsa --save

二 然后就是引入模塊摊欠,進(jìn)行簡單粗暴的解密了,這是jiami.js

//這邊是解密的function柱宦;? encrypted 參數(shù)為已經(jīng)加密的字符串

exports.jiemi=function(encrypted) {

//首先是把私鑰引入些椒,可以通過fs模塊讀取,也可以像我這樣粗暴的植入掸刊,這是用了ES6的字符串模板··;ES6的字符串模板內(nèi)是可以保留空格和換行的免糕,因為網(wǎng)上案例大多都加了/n換行拼接,我這就直接效仿了

let privatePem =`-----BEGIN PRIVATE KEY----- MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDQmD8Mu1G7X3XT vkUWizjYPMw0jxZjMAeNNT2G3t4vGJyl/qyYBwpIy28QlHQzUXUK5JroX4Sd8NjU 823dGSgfzEL0j9WqsuIQbXLCFuPxCezgahCfzjTFRcat4jKXE2IbjelHP/rRmpp5 bUh/MJ/wwsuoHBwnAs8MAGNwawU7LJYsyH6b/hfQCAIcuww7L5fXj2f5RDeDDse9 O3x1PMxIzZGYDkDe3X1cRabGjZvEGdKkOIulcoPUGCeuxyaokWTwk0/xYi4nHRO/ y8O574MjTDLC23XBPOaRcBzGZ9I2816iDspQay/MKdoQySQ6N4S9dRpl59oVgwgO bFEJFBlvAgMBAAECggEADnghF37+4mJyx+dQ34l0vfsppxOt19+DBpaE2BAplVa9 tv39duY2HmqOH7ZMgSrLVaAZ5riJeHM2dz8Thdyy3dHLay93AMo7yCvvY+s2kIfB uKdi09L38h8u8uzX2YbsrUCgx+J2QYfZ40ZjWv9CeO7qNZUNlt8pAYodW7TwvfPv swm8/fW/XYah9bQCFh0rd4vZPp1XQgrZaEHkjDdTQE4lnHjqoKcztvTgzQf/+Pf5 kPP+xgFNRjOzy9F+jhQW38gnJewCLdJ2Jg/pujKYCgPwffZl4bLzDBwiaqk44ZBB xB016PSILXzV7B/7JO2kARK7hoBfjujpZcAvbOkiwQKBgQD0Spn3RKSReRHl6QyB rT6FlabO4CE8BTfJo2/6eKX6Ru7XneRKEdr8CUn14zwxsVT723ERfk68KoFBXvJv GEKpIjv7V0Ou03JaQoIhuj2YN+RRXgzIY1ZOQQcjLoleCDdX90mVlxAv1xHbhpkj 2OFs7pisp36lLEKkr/KsvMNvUQKBgQDal6eZt2DiK9NWaS5iVwWXysnOdQHDxrP/ KipLPnuYQC+1qZs0UbGBilytEFLSbGwr/YNagTyZLPg1g+eBMG0W0MLWHkcJh3Bi vM40vrEA2O+t7dLaaXRZhYDSd5DEcOUPUYPhmKs9HMs3XLEc0tHRJqsQiD5K6eab iEh4bLhMvwKBgQCWdFfNJXahrcorKlQsjbGC/n9EzF9Lov8P7dvqjGHU+djh7PmL 8OFI9sOZcAFDra7kiuthVcRSOW9v/nUbnPp5Rn9gtgcWZl34Xxvcf+KtnEa/IkiH Jj8iZQRrU58AzdigEco9GlO60x/Jb2Vj4ZA80dowA9yJB/Bnk4HHh15qcQKBgDCg ef09CQVnQG1BmrrvpuPcjcYqy0i1BEeoJp50eOQmqzZbU5Zw8e7iS7mIHxSGYA3t KHJSu5tLoK+u9yoLDsl7iUw+kgjxozOj0q9zGEca+z6S4EwMF4DurPik9oRspNgi hxcBcl528FIRgajq0RgY5QcZd9oMbGt/BrgbX2hbAoGBANsh1I3bnOqPQ51EO51Z kgEwCKecy+n8PTc1eDdNK8EjAv9chxfFxlGyvYx3VF1o8ULhE0zlHObTZPBDWAiT EcEMhce6cfNWD0XJ8ulacOQmtxaMKA3w83c7ntk2feW/yrLpnzLbJ+DLfhalOTaD coI1KnJDeBSdOQ2cwW0R92Oi -----END PRIVATE KEY-----`;

let Rsa = require('node-rsa');

//下面是通過fs模塊讀取私鑰的方式忧侧,已注釋石窑,有興趣的也可以嘗試一下

//letfs = require('fs');

// var privatePem = fs.readFileSync('./rsa_private_key.pem').toString();

// var publicPem = fs.readFileSync('./rsa_public_key.pem').toString(); // var text = 'qqqqqq'; // // var public_key = new Rsa(publicPem); var private_key = new Rsa(privatePem);

//下面是初始化公鑰和私鑰的操作

// public_key.setOptions({encryptionScheme: 'pkcs1'});

private_key.setOptions({encryptionScheme: 'pkcs1'});

// console.log('text:', text);

//以下是加密處理

//var encrypted = public_key.encrypt(text, 'base64');

//console.log('encrypted: ', encrypted);

//以下是解密處理

var decrypted = private_key.decrypt(encrypted, 'utf8'); console.log(JSON.parse(decrypted).timeout>new Date());

//轉(zhuǎn)為json對象,并返回給函數(shù)

return JSON.parse(decrypted)

}

一下是調(diào)用

let jiami = require('../encrypt/jiami');

let encrypted = `qAUM6fzgnkEtYxwqv/S08xEZ7olHY7FkWXle93cMkJD1PwMvs7PRof158PQpbkVLUBf/Xz6Rgz/N9aEHZaQ+viYEFTE2DQfXhd/ZV8BxleTzxcOl2DYZoX+xzor9Wxgn3M32eY/v5VqppwRNbrSuiW54O/GFBJ7U+pDOi6CitUqrybxHrzwwFQV/OxutAmDJUgFs9gGZaBSIB3qGoDBzpQtUldUuDChW/+kH4bQPUjgClABQRxRFMrYiyvtRzOL2QQn3cQDx2Ni1AGXWd/XXCIcRjkU6tlmkDSwLapW1fo0ul7DKW38pjDVPxF7MMrySHYYUdJfzejJSNsjT/9x4rQ==`;

jiami.jiemi(encrypted);

得到的結(jié)果為


end


?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末蚓炬,一起剝皮案震驚了整個濱河市松逊,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌肯夏,老刑警劉巖经宏,帶你破解...
    沈念sama閱讀 211,194評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件犀暑,死亡現(xiàn)場離奇詭異,居然都是意外死亡烁兰,警方通過查閱死者的電腦和手機(jī)耐亏,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,058評論 2 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來沪斟,“玉大人广辰,你說我怎么就攤上這事≈髦” “怎么了择吊?”我有些...
    開封第一講書人閱讀 156,780評論 0 346
  • 文/不壞的土叔 我叫張陵,是天一觀的道長杀餐。 經(jīng)常有香客問我干发,道長,這世上最難降的妖魔是什么史翘? 我笑而不...
    開封第一講書人閱讀 56,388評論 1 283
  • 正文 為了忘掉前任枉长,我火速辦了婚禮,結(jié)果婚禮上琼讽,老公的妹妹穿的比我還像新娘必峰。我一直安慰自己,他們只是感情好钻蹬,可當(dāng)我...
    茶點故事閱讀 65,430評論 5 384
  • 文/花漫 我一把揭開白布吼蚁。 她就那樣靜靜地躺著,像睡著了一般问欠。 火紅的嫁衣襯著肌膚如雪肝匆。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,764評論 1 290
  • 那天顺献,我揣著相機(jī)與錄音旗国,去河邊找鬼。 笑死注整,一個胖子當(dāng)著我的面吹牛能曾,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播肿轨,決...
    沈念sama閱讀 38,907評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼寿冕,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了椒袍?” 一聲冷哼從身側(cè)響起驼唱,我...
    開封第一講書人閱讀 37,679評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎驹暑,沒想到半個月后曙蒸,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體捌治,經(jīng)...
    沈念sama閱讀 44,122評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,459評論 2 325
  • 正文 我和宋清朗相戀三年纽窟,在試婚紗的時候發(fā)現(xiàn)自己被綠了肖油。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,605評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡臂港,死狀恐怖森枪,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情审孽,我是刑警寧澤县袱,帶...
    沈念sama閱讀 34,270評論 4 329
  • 正文 年R本政府宣布,位于F島的核電站佑力,受9級特大地震影響式散,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜打颤,卻給世界環(huán)境...
    茶點故事閱讀 39,867評論 3 312
  • 文/蒙蒙 一暴拄、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧编饺,春花似錦乖篷、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,734評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至秽誊,卻和暖如春鲸沮,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背锅论。 一陣腳步聲響...
    開封第一講書人閱讀 31,961評論 1 265
  • 我被黑心中介騙來泰國打工诉探, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人棍厌。 一個月前我還...
    沈念sama閱讀 46,297評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像竖席,于是被迫代替她去往敵國和親耘纱。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,472評論 2 348

推薦閱讀更多精彩內(nèi)容

  • https://nodejs.org/api/documentation.html 工具模塊 Assert 測試 ...
    KeKeMars閱讀 6,312評論 0 6
  • Node.js是目前非潮霞觯火熱的技術(shù)束析,但是它的誕生經(jīng)歷卻很奇特。 眾所周知憎亚,在Netscape設(shè)計出JavaScri...
    w_zhuan閱讀 3,609評論 2 41
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理员寇,服務(wù)發(fā)現(xiàn)弄慰,斷路器,智...
    卡卡羅2017閱讀 134,629評論 18 139
  • 第一天 傍晚在院子里收衣服蝶锋,看見黃小姐躺在水池邊陆爽,瘦骨嶙峋,但不臟扳缕。 從旁邊走慌闭,她就看著我喵喵叫,聲音很細(xì)弱躯舔。我來...
    大丟閱讀 854評論 0 1
  • 《小強(qiáng)升職記》節(jié)選 優(yōu)秀的人有優(yōu)秀的系統(tǒng)驴剔,普通人有普通人的系統(tǒng),失敗的人沒有系統(tǒng) 老付 讀一本書 這本書粥庄,不是雞湯...
    Alina空靈閱讀 281評論 0 0