国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

RSA算法的JNI封裝思路

發(fā)布時間:2020-3-20 13:03    發(fā)布者:zntsbkhhh
關(guān)鍵詞: RAS算法
RSA算法的JNI封裝思路

      JNI(Java Native Interface)是一組API和標準,作用是實現(xiàn)Java和其他語言(主要是C/C++)的通信。出于運算速度等方面的考慮,一些對運算性能要求較高的算法往往是基于C/C++語言(與硬件關(guān)聯(lián)性更強)實現(xiàn)的。如果應(yīng)用程序需要基于JAVA編程實現(xiàn)時,這就會有一些矛盾。此時,通過JNI技術(shù),Java開發(fā)者可以在不了解算法內(nèi)容的情況下,方便快捷的使用C/C++加密算法的動態(tài)庫,實現(xiàn)跨語言調(diào)用。例如有如下的應(yīng)用場景:嵌入式終端要基于RSA非對稱算法完成與服務(wù)器之間的身份認證。終端通過加入加密芯片,可以快速安全實現(xiàn)基于RSA算法的簽名驗簽工作,但是服務(wù)器端往往不會外加加密模塊,往往會基于Openssl等開源庫來移植RSA算法,進而實現(xiàn)高效運算的目的。這些庫源碼大多基于C語言實現(xiàn),此時Java開發(fā)者就可以借助JNI技術(shù)來封裝實現(xiàn)簽名等功能。


   封裝步驟如下:
   1. 使用java編譯器生成調(diào)用RSA 加解密,簽名驗簽的API頭文件。
   2. 根據(jù)生成的頭文件和RSAC源碼庫開源庫,生成一個供JNI接口調(diào)用的靜態(tài)庫
   3. JAVA源碼中使用Native方法引入動態(tài)庫的API,編譯java程序
   最終生成的文件結(jié)構(gòu)如下圖:
    注意事項:
    1. Java數(shù)據(jù)類型和本地數(shù)據(jù)類型需要做適當?shù)霓D(zhuǎn)換,對應(yīng)關(guān)系如下表:

2.若在windows下直接使用命令行的形式,注意JDK的版本,較新的版本已經(jīng)不支持javah 命令,而是使用java -h代替了。

本文地址:http://www.qingdxww.cn/thread-579443-1-1.html     【打印本頁】

本站部分文章為轉(zhuǎn)載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀點和對其真實性負責;文章版權(quán)歸原作者及原出處所有,如涉及作品內(nèi)容、版權(quán)和其它問題,我們將根據(jù)著作權(quán)人的要求,第一時間更正或刪除。
明亮的光 發(fā)表于 2020-3-23 14:22:12
RSA非對稱算法不錯,現(xiàn)在大家普遍都在使用,樓主的文章學習了。
?-о 發(fā)表于 2020-3-23 15:05:18
服務(wù)器端往往不會外加加密模塊,算法移植到加密芯片中?
zntsbkhhh 發(fā)表于 2020-3-23 18:34:43
服務(wù)器端的軟件可以通過JNI接口調(diào)用RSA算法庫,這個庫是在服務(wù)器端,而不是加密芯片端。
Test_wf 發(fā)表于 2020-3-23 19:43:30
厲害了,這么高科技的技術(shù),佩服,學習了
wang0327 發(fā)表于 2020-3-23 20:30:13
看了樓主的文章,收獲很多,期待后續(xù)文章
小屁孩123 發(fā)表于 2020-3-23 23:21:45
是嗎?現(xiàn)在都使用java -h了,什么時候開始的?
tyl2010 發(fā)表于 2020-3-24 12:55:08
有沒有其他算法的,等樓主更新,mark
miniminimini 發(fā)表于 2020-3-24 13:04:28
現(xiàn)在最新的JDK應(yīng)該用,java -h ./+ 文件名,./表示當前路徑,下生成.h文件
QL87 發(fā)表于 2020-3-24 15:05:26
也就是說加入加密芯片后終端就可以通過加密芯片直接進行簽名驗簽,是這個意思嗎?
xiaoyuhzou1228 發(fā)表于 2020-3-24 15:15:02
終端通過加密芯片,進行簽名驗簽是對的,最主要的是加密芯片可以保護好對應(yīng)的密鑰,保證安全
kessy1 發(fā)表于 2020-3-24 17:11:47
JNI說明很實用,有沒有詳細的操作代碼提供呢?
Test_wf 發(fā)表于 2020-3-24 18:33:19
不錯真厲害,雖然不明白什么意思先贊一個。期待后續(xù)更多的試用技術(shù)
明亮的光 發(fā)表于 2020-3-24 18:38:30
樓主行內(nèi)高手能否推薦推薦一款這方面的加密芯片
QL87 發(fā)表于 2020-3-25 08:21:15
在這方面的加密芯片做的比較好的還是凌科芯安家的 我們客戶有跟他們家合作,說他們的加密芯片靠譜又安全。
?-о 發(fā)表于 2020-3-25 10:57:06
什么是JNI?
miniminimini 發(fā)表于 2020-3-25 11:08:43
JNI是Java Native Interface的縮寫,它提供了若干的API實現(xiàn)了Java和其他語言的通信(主要是C&C++).這是  百度百科上說的.通俗來說,就是JAVA調(diào)用C/C++函數(shù)的接口.如果你要想調(diào)用C系列的函數(shù),你就必須遵守這樣的約定.
Test_wf 發(fā)表于 2020-3-25 11:54:22
這篇文章對我們技術(shù)太有用了,我收藏了,希望樓主多分享
小屁孩123 發(fā)表于 2020-3-25 13:18:26
openssl沒有java實現(xiàn)的代碼嗎?
xiaoyuhzou1228 發(fā)表于 2020-3-26 09:28:20
小屁孩123 發(fā)表于 2020-3-25 13:18
openssl沒有java實現(xiàn)的代碼嗎?

都是C和C++的 目的就是提高運行效率 JAVA還得跑虛擬機 會慢很多
12下一頁
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區(qū)
  • Dev Tool Bits——使用MPLAB® Discover瀏覽資源
  • Dev Tool Bits——使用條件軟件斷點宏來節(jié)省時間和空間
  • Dev Tool Bits——使用DVRT協(xié)議查看項目中的數(shù)據(jù)
  • Dev Tool Bits——使用MPLAB® Data Visualizer進行功率監(jiān)視
  • 貿(mào)澤電子(Mouser)專區(qū)
關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 色婷婷综合在线视频最新 | 四虎网址在线观看 | 欧美黑人激情性久久 | 国产九色在线 | 国产一区二区三区在线 | 一卡2卡三卡4卡在线不卡 | 视频一本大道香蕉久在线播放 | 婷婷在线五月 | 色综合天天综合网国产成人 | 精品亚洲欧美中文字幕在线看 | 亚洲网站在线免费观看 | 精品国产高清毛片 | 久久成人亚洲香蕉草草 | 国产一区二区三区免费观看 | 黄网址免费 | 99久久精品免费 | 天堂va在线高清一区 | 国内精品久久久久久久97牛牛 | 天天干天天玩天天操 | 成人在线看片 | 国产91av视频 | 国产日韩精品欧美一区视频 | 国产精品国产亚洲精品不卡 | 欧美视频不卡一区二区三区 | 国产小视频91 | 国产欧美精品三区 | 免费看的毛片 | 日韩一区二区不卡中文字幕 | 欧美肥 | 国产成人综合亚洲欧美天堂 | 国产成人啪精品午夜在线观看 | 9久9久女女热精品视频免费观看 | 午夜影院在线观看 | 国产中日韩一区二区三区 | 日本综合欧美一区二区三区 | 在线观看免费午夜大片 | 亚洲va在线观看 | 农村寡妇一级毛片免费播放 | 欧美日本一区亚洲欧美一区 | 羞羞色男人的天堂伊人久久 | 青青草国产97免久久费观看 |