国产精品免费无遮挡无码永久视频-国产高潮视频在线观看-精品久久国产字幕高潮-国产精品99精品无码视亚

RSA算法的JNI封裝思路

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

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


   封裝步驟如下:
   1. 使用java編譯器生成調用RSA 加解密,簽名驗簽的API頭文件。
   2. 根據生成的頭文件和RSAC源碼庫開源庫,生成一個供JNI接口調用的靜態庫
   3. JAVA源碼中使用Native方法引入動態庫的API,編譯java程序
   最終生成的文件結構如下圖:
    注意事項:
    1. Java數據類型和本地數據類型需要做適當的轉換,對應關系如下表:

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

本文地址:http://m.4huy16.com/thread-579443-1-1.html     【打印本頁】

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

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

廠商推薦

  • Microchip視頻專區
  • Microchip第22屆中國技術精英年會上海首站開幕
  • 常見深度學習模型介紹及應用培訓教程
  • 技術熱潮席卷三城,2025 Microchip中國技術精英年會圓滿收官!
  • Microchip第22屆中國技術精英年會——采訪篇
  • 貿澤電子(Mouser)專區
關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表