Java代碼控制設備,java控制器
大家好,今天小編關(guān)注到一個(gè)比較有意思的話(huà)題,就是關(guān)于Java代碼控制設備的問(wèn)題,于是小編就整理了3個(gè)相關(guān)介紹Java代碼控制設備的解答,讓我們一起看看吧。
怎么用java對數據進(jìn)行加密解密?
使用Virbox Protector對Java項目加密有兩種方式,一種是對War包加密,一種是對Jar包加密。Virbox Protector支持這兩種文件格式加密,并且加密用于解析class文件的java.exe,并且可以實(shí)現項目源碼綁定制定設備,防止部署到客戶(hù)服務(wù)器的項目被整體拷貝。
兩種加密方式
War 包加密
當你的項目在沒(méi)有完成竣工的時(shí)候,不適合使用war 文件,因為你的類(lèi)會(huì )由于調試之類(lèi)的經(jīng)常改,這樣來(lái)回刪除、創(chuàng )建 war 文件很不爽,最好是你的項目已經(jīng)完成了,不改了,那么就打個(gè) war 包吧,這個(gè)時(shí)候一個(gè) war 文件就相當于一個(gè)web應用程序;而 jar 文件就是把類(lèi)和一些相關(guān)的資源封裝到一個(gè)包中,便于程序中引用。
Jar 包加密
在編寫(xiě)java代碼時(shí),為方便編程,常常會(huì )引用別人已經(jīng)實(shí)現的方法,通常會(huì )封裝成jar包,我們在編寫(xiě)時(shí),只需引入到Eclipse中即可。Jar包有已知的jar包及自己導出的jar包。
加密流程
我們如何對已知的jar 或者自己導出jar包做加密并給別人使用呢?下面是對簡(jiǎn)單的加密流程介紹。
War包加密流程
1、打包War包
javafx是什么?
Sun公司(已于2009年被Oracle公司收購)在2008年12月05日發(fā)布了JavaFX技術(shù)的正式版,它使您能利用 JavaFX 編程語(yǔ) 言開(kāi)發(fā)富互聯(lián)網(wǎng)應用程序(RIA)。
JavaFX Script 編程語(yǔ)言(以下稱(chēng)為JavaFX)是Sun微系統公司開(kāi)發(fā)的一種declarative, statically typed(聲明性的、靜態(tài)類(lèi)型)腳本語(yǔ)言。
JavaFX技術(shù)有著(zhù)良好的前景,包括可以直接調用Java API的能力。
因為 JavaFX Script是靜態(tài)類(lèi)型,它同樣具有結構化代碼、重用性和封裝性,如包、類(lèi)、繼承和單獨編譯和發(fā)布單元,這些特性使得使用Java技術(shù)創(chuàng )建和管理大型程序變?yōu)榭赡堋?/p>
不過(guò)還不知道哪些公司在開(kāi)發(fā)的時(shí)候在用這技術(shù)
如何防止JAVA程序源代碼被反編譯?
防止Java開(kāi)發(fā)出來(lái)的程序被別人反編譯有很多種方法,下面給你介紹幾種:
1、隔離Java程序
最簡(jiǎn)單的方法就是讓用戶(hù)不能夠訪(fǎng)問(wèn)到Java Class程序,這種方法是最根本的方法,具體實(shí)現有多種方式。例如,開(kāi)發(fā)人員可以將關(guān)鍵的Java Class放在服務(wù)器端,客戶(hù)端通過(guò)訪(fǎng)問(wèn)服務(wù)器的相關(guān)接口來(lái)獲得服務(wù),而不是直接訪(fǎng)問(wèn)Class文件。這樣黑客就沒(méi)有辦法反編譯Class文件。目前,通過(guò)接口提供服務(wù)的標準和協(xié)議也越來(lái)越多,例如 HTTP、Web Service、RPC等。但是有很多應用都不適合這種保護方式,例如對于單機運行的程序就無(wú)法隔離Java程序。
2、對Class文件進(jìn)行加密
為了防止Class文件被直接反編譯,許多開(kāi)發(fā)人員將一些關(guān)鍵的Class文件進(jìn)行加密,例如對注冊碼、序列號管理相關(guān)的類(lèi)等。在使用這些被加密的類(lèi)之前,程序首先需要對這些類(lèi)進(jìn)行解密,而后再將這些類(lèi)裝載到JVM當中。這些類(lèi)的解密可以由硬件完成,也可以使用軟件完成。
3、轉換成本地代碼
將程序轉換成本地代碼也是一種防止反編譯的有效方法。因為本地代碼往往難以被反編譯。開(kāi)發(fā)人員可以選擇將整個(gè)應用程序轉換成本地代碼,也可以選擇關(guān)鍵模塊轉換。如果僅僅轉換關(guān)鍵部分模塊,Java程序在使用這些模塊時(shí),需要使用JNI技術(shù)進(jìn)行調用。
4、代碼混淆
代碼混淆是對Class文件進(jìn)行重新組織和處理,使得處理后的代碼與處理前代碼完成相同的功能(語(yǔ)義)。但是混淆后的代碼很難被反編譯,即反編譯后得出的代碼是非常難懂、晦澀的,因此反編譯人員很難得出程序的真正語(yǔ)義。從理論上來(lái)說(shuō),黑客如果有足夠的時(shí)間,被混淆的代碼仍然可能被破解,甚至目前有些人正在研制反混淆的工具。但是從實(shí)際情況來(lái)看,由于混淆技術(shù)的多元化發(fā)展,混淆理論的成熟,經(jīng)過(guò)混淆的Java代碼還是能夠很好地防止反編譯。
不同保護技術(shù)比較希望能給大家帶來(lái)參考:
到此,以上就是小編對于Java代碼控制設備的問(wèn)題就介紹到這了,希望介紹關(guān)于Java代碼控制設備的3點(diǎn)解答對大家有用。