中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

java代碼加密編譯,java代碼加密運(yùn)行

怎樣為一個(gè)java程序加密? 謝謝

只給編譯后的.jar文件,不給.java文件

創(chuàng)新互聯(lián)建站一直秉承“誠信做人,踏實(shí)做事”的原則,不欺瞞客戶,是我們最起碼的底線! 以服務(wù)為基礎(chǔ),以質(zhì)量求生存,以技術(shù)求發(fā)展,成交一個(gè)客戶多一個(gè)朋友!為您提供網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站制作、成都網(wǎng)頁設(shè)計(jì)、重慶小程序開發(fā)公司、成都網(wǎng)站開發(fā)、成都網(wǎng)站制作、成都軟件開發(fā)、app開發(fā)定制是成都本地專業(yè)的網(wǎng)站建設(shè)和網(wǎng)站設(shè)計(jì)公司,等你一起來見證!

不過要說明的是,java因?yàn)槭亲止?jié)碼,所以沒有辦法防止被反編譯。

最多也就是做一下代碼混淆,比如把方法或變量名改成無意義的名稱,或者加一些完全無用的代碼進(jìn)去,讓惡意攻擊的人難以看懂

java加密

可以的,但是對(duì)jar包直接加密,目前只支持J2SE,還不支持J2EE。更多的還是用混編器(java obfuscator)。下面是關(guān)于HASP的介紹。

-----------------------------------------------------

針對(duì)java加密防止反編譯的解決方案

眾所周知,java開發(fā)語言提供了很方便的開發(fā)平臺(tái),開發(fā)出來的程序很容易在不同的平臺(tái)上被移植,現(xiàn)在越來越多的人使用它來開發(fā)軟件,與.net語言并駕齊驅(qū)。

Java有它方便的一面,同時(shí)也給開發(fā)者帶來了一個(gè)不小的煩惱,就是保護(hù)程序代碼變得困難,因?yàn)閖ava語言編譯和代碼執(zhí)行的特殊性,目前,除了HASP外,還沒有一個(gè)更好的解決辦法或保護(hù)方案,但如果不采取有力的措施,則自己辛辛苦苦開發(fā)出來的程序很容易被人復(fù)制而據(jù)為己有,一般情況下,大多數(shù)的人都是用混編器(java obfuscator)來把開發(fā)出來的程序進(jìn)行打亂,以想達(dá)到防止反編譯的目的,但是,這種方法在網(wǎng)上很容易找到相關(guān)的軟件來重新整理,那么這個(gè)混編器工具也只能控制一些本來就沒有辦法的人,而對(duì)于稍懂工具的人幾乎是透明的,沒有任何意義。再說硬件加密鎖,大多數(shù)廠商提供的加密鎖只能進(jìn)行dll的連接或簡(jiǎn)單的api調(diào)用,只要簡(jiǎn)單地反編譯,就很容易把a(bǔ)pi去掉,這樣加密鎖根本起不了作用,那到底是否還有更好的解決辦法呢?

現(xiàn)提供2種解決辦法:

1、以色列阿拉丁公司的HASP HL加密鎖提供的外殼加密工具中,有一個(gè)叫做數(shù)據(jù)加密的功能,這個(gè)功能可以很好的防止反編譯而去掉api的調(diào)用,大家知道:硬件加密鎖的保護(hù)原理就是讓加密過的軟件和硬件緊密地連接在一起,調(diào)用不會(huì)輕易地被剔除,這樣才能持久地保護(hù)您的軟件不被盜版,同時(shí),這種方式使用起來非常簡(jiǎn)單,很容易被程序員掌握,要對(duì)一個(gè)軟件實(shí)現(xiàn)保護(hù),大約只需幾分鐘的時(shí)間就可以了,下面簡(jiǎn)單介紹一下它的原理:

運(yùn)用HASP HL的外殼工具先把java解釋器進(jìn)行加密,那么,如果要啟動(dòng)這個(gè)解釋器就需要有特定的加密鎖存在,然后,再運(yùn)用外殼工具中的數(shù)據(jù)加密功能把java程序(CLASS或JAR包)當(dāng)作一個(gè)數(shù)據(jù)文件來進(jìn)行加密處理,生成新的java程序(CLASS或JAR包),因?yàn)檫@個(gè)加密過程是在鎖內(nèi)完成的,并采用了128位的AES算法,這樣,加密后的java程序,無論你采用什么樣的反編譯工具,都是無法反編譯出來的。您的軟件也只有被加密過的java解釋器并有加密鎖的情況下才能正常運(yùn)行,如果沒有加密鎖,程序不能運(yùn)行,從而達(dá)到真正保護(hù)您的軟件的目的。

2、HASP HL提供專門針對(duì)java外殼加密工具,直接加密jar包,防止外編譯,目前只支持J2SE,將來會(huì)進(jìn)一步支持J2EE,如果情況適合則是最簡(jiǎn)單的方法。

java加密的幾種方式

基本的單向加密算法:

BASE64 嚴(yán)格地說,屬于編碼格式,而非加密算法

MD5(Message Digest algorithm 5,信息摘要算法)

SHA(Secure Hash Algorithm,安全散列算法)

HMAC(Hash Message Authentication Code,散列消息鑒別碼)

復(fù)雜的對(duì)稱加密(DES、PBE)、非對(duì)稱加密算法:

DES(Data Encryption Standard,數(shù)據(jù)加密算法)

PBE(Password-based encryption,基于密碼驗(yàn)證)

RSA(算法的名字以發(fā)明者的名字命名:Ron Rivest, AdiShamir 和Leonard Adleman)

DH(Diffie-Hellman算法,密鑰一致協(xié)議)

DSA(Digital Signature Algorithm,數(shù)字簽名)

ECC(Elliptic Curves Cryptography,橢圓曲線密碼編碼學(xué))

代碼參考:

/**

*?BASE64加密

*

*?@param?key

*?@return

*?@throws?Exception

*/

public?static?String?encryptBASE64(byte[]?key)?throws?Exception?{

return?(new?BASE64Encoder()).encodeBuffer(key);

}

/**

*?MD5加密

*

*?@param?data

*?@return

*?@throws?Exception

*/

public?static?byte[]?encryptMD5(byte[]?data)?throws?Exception?{

MessageDigest?md5?=?MessageDigest.getInstance(KEY_MD5);

md5.update(data);

return?md5.digest();

}

/**

*?SHA加密

*

*?@param?data

*?@return

*?@throws?Exception

*/

public?static?byte[]?encryptSHA(byte[]?data)?throws?Exception?{

MessageDigest?sha?=?MessageDigest.getInstance(KEY_SHA);

sha.update(data);

return?sha.digest();

}

}

/**

*?初始化HMAC密鑰

*

*?@return

*?@throws?Exception

*/

public?static?String?initMacKey()?throws?Exception?{

KeyGenerator?keyGenerator?=?KeyGenerator.getInstance(KEY_MAC);

SecretKey?secretKey?=?keyGenerator.generateKey();

return?encryptBASE64(secretKey.getEncoded());

}

/**

*?HMAC加密

*

*?@param?data

*?@param?key

*?@return

*?@throws?Exception

*/

public?static?byte[]?encryptHMAC(byte[]?data,?String?key)?throws?Exception?{

SecretKey?secretKey?=?new?SecretKeySpec(decryptBASE64(key),?KEY_MAC);

Mac?mac?=?Mac.getInstance(secretKey.getAlgorithm());

mac.init(secretKey);

return?mac.doFinal(data);

}

當(dāng)前名稱:java代碼加密編譯,java代碼加密運(yùn)行
網(wǎng)站路徑:http://www.rwnh.cn/article32/dssdppc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作手機(jī)網(wǎng)站建設(shè)、自適應(yīng)網(wǎng)站品牌網(wǎng)站設(shè)計(jì)、網(wǎng)站改版、品牌網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)
大连市| 德清县| 萨迦县| 平昌县| 环江| 建阳市| 江山市| 乐至县| 崇州市| 佛坪县| 桦南县| 沧州市| 冕宁县| 林周县| 长武县| 深州市| 永丰县| 遂宁市| 井研县| 泸溪县| 信宜市| 蛟河市| 晋中市| 哈尔滨市| 遂宁市| 北海市| 林西县| 会泽县| 乌拉特前旗| 田阳县| 兴山县| 深水埗区| 海兴县| 明溪县| 疏勒县| 葵青区| 炎陵县| 庆城县| 佛坪县| 泌阳县| 刚察县|