0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

RSA算法的JNI封裝步驟

電子工程師 ? 2020-06-04 17:45 ? 次閱讀

RSA算法的JNI封裝思路

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

封裝步驟如下:

1. 使用java編譯器生成調(diào)用RSA 加解密,簽名驗簽的API頭文件。

2. 根據(jù)生成的頭文件和RSA的C源碼庫開源庫,生成一個供JNI接口調(diào)用的靜態(tài)庫

3. 在JAVA源碼中使用Native方法引入動態(tài)庫的API,編譯java程序

最終生成的文件結構如下圖:

SC7A{~%%4{J]%(30C9R2SL4.png

注意事項:

1. Java數(shù)據(jù)類型和本地數(shù)據(jù)類型需要做適當?shù)霓D(zhuǎn)換,對應關系如下表:

O1BDS0ZG7ER{I80@@N3JN_3.png

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

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 封裝
    +關注

    關注

    125

    文章

    7592

    瀏覽量

    142139
  • RSA算法
    +關注

    關注

    0

    文章

    14

    瀏覽量

    7785
  • JNI
    JNI
    +關注

    關注

    0

    文章

    8

    瀏覽量

    7831
收藏 人收藏

    評論

    相關推薦

    神經(jīng)網(wǎng)絡反向傳播算法的原理、數(shù)學推導及實現(xiàn)步驟

    傳播算法的原理、數(shù)學推導、實現(xiàn)步驟以及在深度學習中的應用。 神經(jīng)網(wǎng)絡概述 神經(jīng)網(wǎng)絡是一種受人腦啟發(fā)的計算模型,由大量的神經(jīng)元(或稱為節(jié)點)組成,每個神經(jīng)元與其他神經(jīng)元通過權重連接。神經(jīng)網(wǎng)絡可以分為輸入層、隱藏層和輸出層。輸入層接收外部輸入數(shù)據(jù)
    的頭像 發(fā)表于 07-03 11:16 ?405次閱讀

    怎么用espsecure.py生成RSA秘鑰?

    請問,怎么用 espsecure.py 生成RSA秘鑰 用命令: espsecure.py generate_signing_key secure_boot_signing_key.pem生成的是ECDSA秘鑰 那么二代的RSA用什么命令? 謝謝!
    發(fā)表于 06-21 07:30

    mos封裝工藝是什么,MOS管封裝類型

    MOS封裝工藝是指將制造好的MOS管芯片通過一系列步驟封裝到外殼中的過程。以下是MOS封裝工藝的詳細步驟和相關信息:
    的頭像 發(fā)表于 06-09 17:07 ?1103次閱讀

    泰克頻譜分析儀RSA5126B_26.5G儀器無法開機案例

    有收到北京某高校送來的一臺泰克頻譜分析儀RSA5126B_26.5G維修儀器,當我們打開包裝后泰克頻譜分析儀RSA5126B_26.5G的外觀成色相當不錯,經(jīng)過安泰儀器租賃/維修中心的工程師的仔細排查,下面給大家具體介紹一下泰克頻譜分析儀維修情況及使用方法和操作
    的頭像 發(fā)表于 04-07 11:26 ?808次閱讀
    泰克頻譜分析儀<b class='flag-5'>RSA</b>5126B_26.5G儀器無法開機案例

    鴻蒙OS開發(fā)問題:(ArkTS)【 RSA加解密,解決中文亂碼等現(xiàn)象】

    RSA加解密開始構建工具類就是舉步維艱,官方文檔雖然很全,但是還是有很多小瑕疵,在自己經(jīng)過幾天的時間,徹底解決了中文亂碼的問題、分段加密的問題。
    的頭像 發(fā)表于 03-27 21:23 ?1428次閱讀
    鴻蒙OS開發(fā)問題:(ArkTS)【 <b class='flag-5'>RSA</b>加解密,解決中文亂碼等現(xiàn)象】

    全志R128 SDK HAL 模塊開發(fā)指南——Crypto Engine

    */ uint32_t dir; uint32_t padding_mode; /*hash算法的填充模式*/ } crypto_hash_req_ctx_t; RSA 算法運算接口 主要實現(xiàn)
    發(fā)表于 03-21 10:44

    芯片封裝封裝步驟

    芯片封裝是將芯片封裝在外部保護殼體內(nèi)的過程,通常包括以下步驟
    的頭像 發(fā)表于 12-18 18:13 ?1747次閱讀

    普源RSA5000系列頻譜分析儀介紹

    普源RSA5000系列頻譜分析儀是一種用于測量和分析信號的頻譜特性的儀器。它能夠測量信號的頻率、幅度、相位等參數(shù),并可以分析信號的頻率成分、功率譜密度、倒譜等特性。下面將詳細介紹普源RSA
    的頭像 發(fā)表于 12-01 17:50 ?448次閱讀
    普源<b class='flag-5'>RSA</b>5000系列頻譜分析儀介紹

    寫好的C算法模塊怎么樣封裝成SigmaStudio里能用的圖形模塊呢?

    請教下寫好的C的算法模塊,怎么樣封裝成SigmaStudio里能用的圖形模塊呢?哪里有關于這個的方法說明文檔?謝謝!
    發(fā)表于 11-30 06:42

    RIGOL普源RSA3015頻譜分析儀的應用場景介紹

    普源RSA3015頻譜分析儀是一款高性能、寬頻率范圍、多功能的頻譜分析儀器。它具備高精度、高分辨率、快速掃描等特點,適用于各種復雜的信號分析和測量任務。該儀器能夠提供穩(wěn)定的本振信號,實現(xiàn)寬頻帶接收
    的頭像 發(fā)表于 11-27 18:12 ?442次閱讀
    RIGOL普源<b class='flag-5'>RSA</b>3015頻譜分析儀的應用場景介紹

    阿里云雙十一WoSign SSL國密RSA雙證書首購4折

    國密/RSA雙SSL證書應用,滿足等保、關保、密評等測評中,對網(wǎng)絡與通信安全的技術要求以及商用密碼合規(guī)應用要求。
    的頭像 發(fā)表于 11-09 14:48 ?387次閱讀
    阿里云雙十一WoSign SSL國密<b class='flag-5'>RSA</b>雙證書首購4折

    EEMD方法的原理與算法實現(xiàn)步驟

    電子發(fā)燒友網(wǎng)站提供《EEMD方法的原理與算法實現(xiàn)步驟.pdf》資料免費下載
    發(fā)表于 10-23 11:44 ?0次下載
    EEMD方法的原理與<b class='flag-5'>算法</b>實現(xiàn)<b class='flag-5'>步驟</b>

    傳統(tǒng)封裝方法組裝工藝的八個步驟(下)

    在上篇文章中我們講述了傳統(tǒng)封裝方法組裝工藝的其中四個步驟,這回繼續(xù)介紹剩下的四個步驟吧~
    的頭像 發(fā)表于 10-17 14:33 ?950次閱讀
    傳統(tǒng)<b class='flag-5'>封裝</b>方法組裝工藝的八個<b class='flag-5'>步驟</b>(下)

    如何用Rust通過JNI和Java進行交互

    近期工作中有Rust和Java互相調(diào)用需求,這篇文章主要介紹如何用Rust通過JNI和Java進行交互,還有記錄一下開發(fā)過程中遇到的一些坑。
    的頭像 發(fā)表于 10-17 11:41 ?633次閱讀

    請問一般用硬件怎么實現(xiàn)rsa加密算法?

    一般用硬件怎么實現(xiàn)rsa加密算法?
    發(fā)表于 10-17 07:02