成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

如何做java源代碼加密 java編譯加密

有什么辦法能針對(duì)Java加密

針對(duì)Java,現(xiàn)提供2種加密解決辦法:

專(zhuān)注于為中小企業(yè)提供成都網(wǎng)站制作、成都做網(wǎng)站服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)大渡口免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了數(shù)千家企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過(guò)網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。

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

運(yùn)用HASP HL的外殼工具先把當(dāng)作一個(gè)數(shù)據(jù)文件來(lái)進(jìn)行加密處理,生成新的java程序,因?yàn)檫@個(gè)加密過(guò)程是在鎖內(nèi)完成的,并采用了128位的AES算法,這樣,加密后的java程序,無(wú)論你采用什么樣的反編譯工具,都是無(wú)法反編譯出來(lái)。您的軟件也只有被加密過(guò)的java解釋器并有加密鎖的情況下才能正常運(yùn)行,如果沒(méi)有加密鎖,程序不能運(yùn)行,從而達(dá)到真正保護(hù)您的軟件的目的,該方法只支持Windows平臺(tái)。

2、HASP提供專(zhuān)門(mén)針對(duì)java外殼加密工具,直接加密jar或war包,防止反編譯,目前支持J2SE,J2EE主要支持容器為T(mén)OMCAT6.0以上,可在Windows和Linux平臺(tái)下運(yùn)行,如果情況適合則是最簡(jiǎn)單的使用方法。

java項(xiàng)目如何加密?

Java基本的單向加密算法:

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

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

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

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

按 照RFC2045的定義,Base64被定義為:Base64內(nèi)容傳送編碼被設(shè)計(jì)用來(lái)把任意序列的8位字節(jié)描述為一種不易被人直接識(shí)別的形式。(The Base64 Content-Transfer-Encoding is designed to represent arbitrary sequences of octets in a form that need not be humanly readable.)

常見(jiàn)于郵件、http加密,截取http信息,你就會(huì)發(fā)現(xiàn)登錄操作的用戶(hù)名、密碼字段通過(guò)BASE64加密的。

主要就是BASE64Encoder、BASE64Decoder兩個(gè)類(lèi),我們只需要知道使用對(duì)應(yīng)的方法即可。另,BASE加密后產(chǎn)生的字節(jié)位數(shù)是8的倍數(shù),如果不夠位數(shù)以=符號(hào)填充。

MD5

MD5 -- message-digest algorithm 5 (信息-摘要算法)縮寫(xiě),廣泛用于加密和解密技術(shù),常用于文件校驗(yàn)。校驗(yàn)?不管文件多大,經(jīng)過(guò)MD5后都能生成唯一的MD5值。好比現(xiàn)在的ISO校驗(yàn),都 是MD5校驗(yàn)。怎么用?當(dāng)然是把ISO經(jīng)過(guò)MD5后產(chǎn)生MD5的值。一般下載linux-ISO的朋友都見(jiàn)過(guò)下載鏈接旁邊放著MD5的串。就是用來(lái)驗(yàn)證文 件是否一致的。

HMAC

HMAC(Hash Message Authentication Code,散列消息鑒別碼,基于密鑰的Hash算法的認(rèn)證協(xié)議。消息鑒別碼實(shí)現(xiàn)鑒別的原理是,用公開(kāi)函數(shù)和密鑰產(chǎn)生一個(gè)固定長(zhǎng)度的值作為認(rèn)證標(biāo)識(shí),用這個(gè) 標(biāo)識(shí)鑒別消息的完整性。使用一個(gè)密鑰生成一個(gè)固定大小的小數(shù)據(jù)塊,即MAC,并將其加入到消息中,然后傳輸。接收方利用與發(fā)送方共享的密鑰進(jìn)行鑒別認(rèn)證 等。

java代碼想加密怎么處理?

如果你說(shuō)的是文本加密,有很多方法,自己也可以寫(xiě)個(gè)字符變換程序

如果是代碼加密,沒(méi)用的,java就是開(kāi)源。

你藏再厲害,編譯+反編譯,干凈的源碼就出來(lái)了

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

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

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

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

JAVA簡(jiǎn)單文件加密 求JAVA源代碼

md5加密:

package com.ncs.pki.util;

import java.security.MessageDigest;

import java.security.NoSuchAlgorithmException;

public class MD5Test {

private static MessageDigest digest = null;

public synchronized static final String hash(String data) {

if (digest == null) {

try {

digest = MessageDigest.getInstance("MD5");

} catch (NoSuchAlgorithmException nsae) {

System.err.println(

"Failed to load the MD5 MessageDigest. "

+ "Jive will be unable to function normally.");

nsae.printStackTrace();

}

}

// Now, compute hash.

digest.update(data.getBytes());

return encodeHex(digest.digest());

}

public static final String encodeHex(byte[] bytes) {

StringBuffer buf = new StringBuffer(bytes.length * 2);

int i;

for (i = 0; i bytes.length; i++) {

if (((int) bytes[i] 0xff) 0x10) {

buf.append("0");

}

buf.append(Long.toString((int) bytes[i] 0xff, 16));

}

return buf.toString();

}

public static String test(){

return null;

}

/**

* @param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

System.out.println(MD5Test.hash("123456"));

}

}

3des加密:

package com.ncs.pki.util;

import java.security.Key;

import java.security.SecureRandom;

import javax.crypto.Cipher;

import javax.crypto.KeyGenerator;

import sun.misc.BASE64Decoder;

import sun.misc.BASE64Encoder;

public class DesEncrypt {

/**

*

* 使用DES加密與解密,可對(duì)byte[],String類(lèi)型進(jìn)行加密與解密 密文可使用String,byte[]存儲(chǔ).

*

* 方法: void getKey(String strKey)從strKey的字條生成一個(gè)Key

*

* String getEncString(String strMing)對(duì)strMing進(jìn)行加密,返回String密文 String

* getDesString(String strMi)對(duì)strMin進(jìn)行解密,返回String明文

*

*byte[] getEncCode(byte[] byteS)byte[]型的加密 byte[] getDesCode(byte[]

* byteD)byte[]型的解密

*/

Key key;

/**

* 根據(jù)參數(shù)生成KEY

*

* @param strKey

*/

public void getKey(String strKey) {

try {

KeyGenerator _generator = KeyGenerator.getInstance("DES");

_generator.init(new SecureRandom(strKey.getBytes()));

this.key = _generator.generateKey();

_generator = null;

} catch (Exception e) {

e.printStackTrace();

}

}

/**

* 加密String明文輸入,String密文輸出

*

* @param strMing

* @return

*/

public String getEncString(String strMing) {

byte[] byteMi = null;

byte[] byteMing = null;

String strMi = "";

BASE64Encoder base64en = new BASE64Encoder();

try {

byteMing = strMing.getBytes("UTF8");

byteMi = this.getEncCode(byteMing);

strMi = base64en.encode(byteMi);

} catch (Exception e) {

e.printStackTrace();

} finally {

base64en = null;

byteMing = null;

byteMi = null;

}

return strMi;

}

/**

* 解密 以String密文輸入,String明文輸出

*

* @param strMi

* @return

*/

public String getDesString(String strMi) {

BASE64Decoder base64De = new BASE64Decoder();

byte[] byteMing = null;

byte[] byteMi = null;

String strMing = "";

try {

byteMi = base64De.decodeBuffer(strMi);

byteMing = this.getDesCode(byteMi);

strMing = new String(byteMing, "UTF8");

} catch (Exception e) {

e.printStackTrace();

} finally {

base64De = null;

byteMing = null;

byteMi = null;

}

return strMing;

}

/**

* 加密以byte[]明文輸入,byte[]密文輸出

*

* @param byteS

* @return

*/

private byte[] getEncCode(byte[] byteS) {

byte[] byteFina = null;

Cipher cipher;

try {

cipher = Cipher.getInstance("DES");

cipher.init(Cipher.ENCRYPT_MODE, key);

byteFina = cipher.doFinal(byteS);

} catch (Exception e) {

e.printStackTrace();

} finally {

cipher = null;

}

return byteFina;

}

/**

* 解密以byte[]密文輸入,以byte[]明文輸出

*

* @param byteD

* @return

*/

private byte[] getDesCode(byte[] byteD) {

Cipher cipher;

byte[] byteFina = null;

try {

cipher = Cipher.getInstance("DES");

cipher.init(Cipher.DECRYPT_MODE, key);

byteFina = cipher.doFinal(byteD);

} catch (Exception e) {

e.printStackTrace();

} finally {

cipher = null;

}

return byteFina;

}

public static void main(String[] args) {

System.out.println("des demo");

DesEncrypt des = new DesEncrypt();// 實(shí)例化一個(gè)對(duì)像

des.getKey("MYKEY");// 生成密匙

System.out.println("key=MYKEY");

String strEnc = des.getEncString("111111");// 加密字符串,返回String的密文

System.out.println("密文=" + strEnc);

String strDes = des.getDesString(strEnc);// 把String 類(lèi)型的密文解密

System.out.println("明文=" + strDes);

}

}

java程序加密

都看不到的,

java程序分為:

編輯

編譯

解釋

運(yùn)行

運(yùn)行的都是.class字節(jié)碼文件,看不到源文件的,你不用操心

采納即可

網(wǎng)頁(yè)名稱(chēng):如何做java源代碼加密 java編譯加密
文章起源:http://jinyejixie.com/article44/dodpghe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信公眾號(hào)、品牌網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)域名注冊(cè)、網(wǎng)頁(yè)設(shè)計(jì)公司App設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(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í)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名
江油市| 湄潭县| 西峡县| 吴忠市| SHOW| 寻甸| 南木林县| 景洪市| 新河县| 敦煌市| 渑池县| 荃湾区| 灵山县| 巴林左旗| 通海县| 安泽县| 嘉善县| 莱芜市| 民和| 闵行区| 炎陵县| 涟源市| 黔西县| 黄骅市| 黑山县| 平乡县| 屯门区| 邻水| 搜索| 抚宁县| 科尔| 陇西县| 石屏县| 贵州省| 宁化县| 镇赉县| 达尔| 揭阳市| 林口县| 芷江| 济源市|