簡體   English   中英

如何從javascript調用.jar文件中的Java方法?

[英]How to call java methods in a .jar file from javascript?

我知道互聯網上有很多類似的問題,但是沒有一個可以解決我的疑問。 所以,請原諒我。 關於我的項目。 我有一個采用字符串的Java文件或程序,將其加密,然后將加密的字符串返回給我。

我想在網頁或客戶端上包含或保留此java文件(.jar文件)。 現在,我知道我們可以在服務器端上載此Java程序,然后輕松地與它進行通信,而不是將其保存在客戶端上,而大多數人認為這是不好的做法。

但是我將這個jar文件保留在客戶端的目的是,如果我們檢查一下元素,就可以很容易地看到用於加密的JavaScript代碼,因此與.jar文件相比,它更安全,無法看到底層的加密代碼,並且如果有網絡丟失,那么我不想保存整個字符串,而不必再次輸入整個字符串,而是想在這種情況下保存該字符串,然后從客戶端的jar文件中對其進行加密,以便一旦解決了網絡問題我不需要再次輸入整個消息,然后可以將消息或字符串直接發送到另一端或網絡上的其他用戶。

因此,為此,我需要有關如何將.jar文件存儲在網頁或客戶端上以及如何使用JavaScript從.jar文件中調用方法的幫助。 我知道小程序已棄用,Chrome不支持Java。 我還在互聯網上看到了一些示例,例如https://docs.oracle.com/javase/tutorial/deployment/applet/invokingAppletMethodsFromJavaScript.html,但它對我而言無法正常工作。

因此,我正在尋找一種理想的方法,通過該方法,我可以首先在客戶端上包含或上載.jar文件,然后尋找一種可以使用JavaScript從.jar文件中調用Java方法的方法。 請幫助...我的懇切要求...!

如果我們檢查元素,可以很容易地看到用於加密的JavaScript代碼

我假設您的意思是嵌入式Javascript。 因為您可以引用位於Web服務器而不是客戶端計算機上的外部JS文件。

瀏覽器可能會將您的腳本文件緩存在本地某個地方,但是如果麻煩到足以將其挖掘的話,他也可能會反編譯您的jar文件,這更加容易。

  • Java可以很容易地反編譯。 客戶端上的jar文件不會比客戶端JavaScript更安全。
  • 通過查看其代碼而受損的加密方法是不安全的。

您似乎有很多誤解...以下是一些要考慮的事實:

  1. 在客戶端運行的JAR文件(作為應用程序,WebStart或applet)不安全。 如果它在我的計算機上運行,​​我可以做任何我想做的事情。 我可以下載JAR文件並對其進行反編譯。 在這方面,它並沒有比JavaScript更好,只是需要更多的精力和知識。

  2. 為了保護客戶端和服務器之間的數據,您可以簡單地使用HTTPS並將POST數據從網頁發布到服務器。

  3. 如果客戶端正在向您加密數據,則加密過程應該沒有什么可隱藏的。 客戶端生成一個會話密鑰來加密數據,然后用服務器的公共密鑰包裝該會話密鑰。 然后,客戶端將加密的數據和包裝的會話密鑰發送到您的服務器。 閱讀有關公鑰基礎結構(PKI)的更多信息: https : //en.wikipedia.org/wiki/Public_key_infrastructure

  4. 默認情況下,不授予Java applet / WebStart訪問磁盤的權限。 您必須對其進行簽名才能將數據寫入磁盤,並且用戶/安全策略仍然可以拒絕授予這些訪問權限。 小程序-無法寫入文件

  5. 如您所知,由於瀏覽器拒絕插件,applet / WebStart瀕臨死亡。 有Web加密API(尚不成熟,並且沒有硬件支持),您可以嘗試使用它。 https://www.w3.org/TR/WebCryptoAPI/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM