欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

加密或混亂java源代碼 java如何讓源碼加密還能運(yùn)行

求java加密源代碼(MD5,base64)

import java.security.*;

我們提供的服務(wù)有:網(wǎng)站設(shè)計制作、成都網(wǎng)站建設(shè)、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、會昌ssl等。為上千多家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的會昌網(wǎng)站制作公司

import javax.crypto.*;

/**

* 本例解釋如何利用DES私鑰加密算法加解密

*

* @author Devon

* @version 1.0 04/03/10

*/

public class SingleKeyExample {

public static void main(String[] args) {

try {

String algorithm = "DES"; //定義加密算法,可用 DES,DESede,Blowfish

String message = "Hello World. 這是待加密的信息";

// 生成個DES密鑰

KeyGenerator keyGenerator = KeyGenerator.getInstance(algorithm);

keyGenerator.init(56); //選擇DES算法,密鑰長度必須為56位

Key key = keyGenerator.generateKey(); //生成密鑰

// 生成Cipher對象

Cipher cipher = Cipher.getInstance("DES");

//用密鑰加密明文(message),生成密文(cipherText)

cipher.init(Cipher.ENCRYPT_MODE, key); //操作模式為加密(Cipher.ENCRYPT_MODE),key為密鑰

byte[] cipherText = cipher.doFinal(message.getBytes()); //得到加密后的字節(jié)數(shù)組

System.out.println("加密后的信息: " + new String(cipherText));

//用密鑰加密明文(plainText),生成密文(cipherByte)

cipher.init(Cipher.DECRYPT_MODE, key); //操作模式為解密,key為密鑰

byte[] sourceText = cipher.doFinal(cipherText); //獲得解密后字節(jié)數(shù)組

System.out.println("解密后塵基老的信息: " + new String(sourceText));

} catch (Exception ex) {

ex.printStackTrace();

}

}

}

/**

* @author Devon

*/

import java.security.*;

import java.security.spec.*;

import javax.crypto.*;

public class PairKeyExample {

public static void main(String argv[]) {

try {

String algorithm = "RSA"; //定義加密算法,可用 DES,DESede,Blowfish

String message = "張三,你好,我是李四";

//產(chǎn)生張三的密鑰對(keyPairZhang)

KeyPairGenerator keyGeneratorZhang =

KeyPairGenerator.getInstance(algorithm); //指定采用的算法

keyGeneratorZhang.initialize(1024); //指定密鑰長度為1024位

KeyPair keyPairZhang = keyGeneratorZhang.generateKeyPair(); //產(chǎn)生密鑰對

System.out.println("生成張三的公鑰對");

// 張三生成公鑰鋒敗(publicKeyZhang)并發(fā)送給李四,這里發(fā)送的是公鑰的數(shù)組字節(jié)

byte[] publicKeyZhangEncode = keyPairZhang.getPublic().getEncoded();

//通過網(wǎng)絡(luò)或磁盤等方式,把公鑰編碼傳送給李四

//李四接收到張三編碼后的公鑰,將其解碼

KeyFactory keyFacoryLi = KeyFactory.getInstance(algorithm); //得派升到KeyFactory對象

X509EncodedKeySpec x509KeySpec =

new X509EncodedKeySpec(publicKeyZhangEncode); //公鑰采用X.509編碼

PublicKey publicKeyZhang = keyFacoryLi.generatePublic(x509KeySpec); //將公鑰的KeySpec對象轉(zhuǎn)換為公鑰

System.out.println("李四成功解碼,得到張三的公鑰");

//李四用張三的公鑰加密信息,并發(fā)送給李四

Cipher cipher = Cipher.getInstance("RSA/ECB/PKCS1Padding"); //得到Cipher對象

cipher.init(Cipher.ENCRYPT_MODE, publicKeyZhang); //用張三的公鑰初始化Cipher對象

byte[] cipherMessage = cipher.doFinal(message.getBytes()); //得到加密信息

System.out.println("加密后信息:" + new String(cipherMessage));

System.out.println("加密完成,發(fā)送給李四...");

//張三用自己的私鑰解密從李四處收到的信息

cipher.init(Cipher.DECRYPT_MODE, keyPairZhang.getPrivate()); //張三用其私鑰初始化Cipher對象

byte[] originalMessage = cipher.doFinal(cipherMessage); //得到解密后信息

System.out.println("張三收到信息,解密后為:" + new String(originalMessage));

} catch (Exception ex) {

ex.printStackTrace();

}

}

}

java程序能不公開源代碼嗎

Java程序的源代碼很容易被別人偷看,只要有一個反編譯器,任何人都可以分析別人的代碼。本文討論如何在不修改原有程序的情況下,通過加密技術(shù)保護(hù)源代碼。

一、為什么要加密?

對于傳統(tǒng)的C或C++之類的語言來說,要在Web上保護(hù)源代碼是很容易的,只要不發(fā)配答布它就可以。遺憾的余賣首是,Java程序的源代碼很容易被別人偷看。豎數(shù)只要有一個反編譯器,任何人都可以分析別人的代碼。Java的靈活性使得源代碼很容易被竊取,但與此同時,它也使通過加密保護(hù)代碼變得相對容易,我們唯一需要了解的就是Java的ClassLoader對象。當(dāng)然,在加密過程中,有關(guān)Java Cryptography Extension(JCE)的知識也是必不可少的。

有幾種技術(shù)可以“模糊”Java類文件,使得反編譯器處理類文件的效果大打折扣。然而,修改反編譯器使之能夠處理這些經(jīng)過模糊處理的類文件并不是什么難事,所以不能簡單地依賴模糊技術(shù)來保證源代碼的安全。

標(biāo)題名稱:加密或混亂java源代碼 java如何讓源碼加密還能運(yùn)行
當(dāng)前網(wǎng)址:http://chinadenli.net/article11/dspppdd.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站內(nèi)鏈營銷型網(wǎng)站建設(shè)電子商務(wù)ChatGPT服務(wù)器托管

廣告

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

h5響應(yīng)式網(wǎng)站建設(shè)