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

java怎么給源代碼加密 java怎么給源代碼加密碼

JAVA簡單文件加密 求JAVA源代碼

md5加密:

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

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加密與解密,可對byte[],String類型進(jìn)行加密與解密 密文可使用String,byte[]存儲.

*

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

*

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

* getDesString(String strMi)對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();// 實例化一個對像

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

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

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

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

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

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

}

}

如何給源碼加密?

部署合力天下數(shù)據(jù)防泄密系統(tǒng),對源代碼加密,啟用保密U盤,SVN 服務(wù)器準(zhǔn)入控制,實現(xiàn)源碼只能在公司運行,復(fù)制粘貼到微信,QQ,郵件亂碼,個人U盤插入公司計算機無法識別,私自帶出公司打開亂碼。

上傳到SVN服務(wù)器文檔自動解密,下載到客戶機文檔自動加密,沒有安裝防泄密軟件的計算機無法接入到SVN服務(wù)器。

如何對公司的源代碼加密?

你做源代碼加密無非是想要對公司的源代碼進(jìn)行保護(hù)。越來越多的企業(yè)開始注重這一點了。

目前我所知道的對源代碼加密的辦法有兩種:一種是物理性的“源代碼加密”,一種是軟件性的源代碼加密。

物理性“源代碼加密”就是指截斷外網(wǎng),封掉U口(或者鎖機箱),讓開發(fā)者完全處于一種封閉的狀態(tài),這種方法是可以達(dá)到效果的,弊端就是實施過程也不是那么簡單,并且程序員寫代碼查資料不方便,如果給每人再增加一臺電腦,那成本就很大了,而做開發(fā)的人恰好隨時隨地都要查閱資料。

軟件性的源代碼加密是指通過軟件對源碼進(jìn)行保護(hù)的工作。目前市面上最流行的源代碼加密軟件是一種對開發(fā)人員的操作環(huán)境進(jìn)行加密的軟件,不用對任何硬件做修改,開發(fā)人員所有的開發(fā)數(shù)據(jù)都只能存放在公司范圍里,拿不出被加密的空間。如果想要拿出來必須要走審批流。我們公司自己也在用這種產(chǎn)品,我們用的是沙盒SDC系統(tǒng),我個人覺得我們選它的原因就是廠商服務(wù)挺好,加密時不改變源文件類型、大小,而且開發(fā)人員可以自由上網(wǎng)并且不用擔(dān)心泄密,這樣就完美實現(xiàn)了開發(fā)人員開發(fā)數(shù)據(jù)時可以查資料的要求。

你要是有什么問題可以給我留言。望采納。

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

import java.security.*;

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怎么給源代碼加密碼
網(wǎng)頁網(wǎng)址:http://jinyejixie.com/article48/dopshhp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)、網(wǎng)頁設(shè)計公司外貿(mào)網(wǎng)站建設(shè)、App設(shè)計、軟件開發(fā)、動態(tài)網(wǎng)站

廣告

聲明:本網(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è)
长丰县| 仙桃市| 年辖:市辖区| 杭锦旗| 贵阳市| 井研县| 汉源县| 唐海县| 吐鲁番市| 磐石市| 廊坊市| 汉源县| 长沙县| 芷江| 竹山县| 舒兰市| 开封县| 罗源县| 两当县| 大厂| 临朐县| 德保县| 静宁县| 甘南县| 柘荣县| 寿光市| 资兴市| 田东县| 临颍县| 旬邑县| 剑川县| 凤庆县| 孝昌县| 寿宁县| 勃利县| 宁安市| 陇南市| 大埔县| 昌平区| 大新县| 右玉县|