通常比較簡(jiǎn)單的加密方法就是你把文本文件加載讀取以后,得到的每一個(gè)char加上一個(gè)固定的整數(shù),然后再保存,這樣內(nèi)容就看不懂了。

作為一家“創(chuàng)意+整合+營(yíng)銷”的成都網(wǎng)站建設(shè)機(jī)構(gòu),我們?cè)跇I(yè)內(nèi)良好的客戶口碑。成都創(chuàng)新互聯(lián)公司提供從前期的網(wǎng)站品牌分析策劃、網(wǎng)站設(shè)計(jì)、成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、外貿(mào)網(wǎng)站建設(shè)、創(chuàng)意表現(xiàn)、網(wǎng)頁(yè)制作、系統(tǒng)開發(fā)以及后續(xù)網(wǎng)站營(yíng)銷運(yùn)營(yíng)等一系列服務(wù),幫助企業(yè)打造創(chuàng)新的互聯(lián)網(wǎng)品牌經(jīng)營(yíng)模式與有效的網(wǎng)絡(luò)營(yíng)銷方法,創(chuàng)造更大的價(jià)值。
再讀取以后,把每一個(gè)char減去固定的整數(shù),然后保存,就還原回來了。
這種方法是最最簡(jiǎn)單的加密方式,不需要使用任何的加密算法。
加多一個(gè)判斷,當(dāng)輸入的長(zhǎng)度小于指定長(zhǎng)度的時(shí)候,出錯(cuò);
如果超出指定長(zhǎng)度,則取前幾位,譬如指定6位,輸入123, 出錯(cuò);輸入123456789,那就只處理123456,忽略后面的789
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
public class Test {
public static void main(String[] args) throws Exception {
System.out.print("請(qǐng)輸入加密(解密)和要處理的數(shù)字個(gè)數(shù):1為加密,2為解密; ");
Scanner scanner = new Scanner(System.in);
String[] input1 = scanner.nextLine().split("\\s+");
String choice = input1[0];
int count = Integer.parseInt(input1[1]);
System.out.print("請(qǐng)輸入要處理的數(shù)字,用空格隔開:");
String input = scanner.nextLine().replaceAll("\\s+", "");
if(input.length() count){
throw new Exception("不足" + count + "位數(shù)字,請(qǐng)檢查輸入");
}else if(input.length() count){
System.out.println("太多數(shù)字,將處理前" + count + "個(gè)數(shù)字:" +
input.substring(0, 6));
input = input.substring(0, 6);
}
if(choice.equals("1")){
if(input.length() count){
}
String encode = EncodeUtil.encode(input);
System.out.println("加密后的數(shù)字是: " + encode);
}else{
String decode = EncodeUtil.decode(input);
System.out.println("解密后的數(shù)字: " + decode);
}
}
}
class EncodeUtil{
private static MapString, String encodeMap = null;
private static MapString, String decodeMap = null;
public final static String encode(String strToEncode){
if(encodeMap == null){
encodeMap = new HashMapString, String();
encodeMap.put("0", "7");
encodeMap.put("1", "5");
encodeMap.put("2", "9");
encodeMap.put("3", "1");
encodeMap.put("4", "3");
encodeMap.put("5", "6");
encodeMap.put("6", "8");
encodeMap.put("7", "0");
encodeMap.put("8", "2");
encodeMap.put("9", "4");
}
StringBuilder sb = new StringBuilder();
for(int i = 0; i strToEncode.length(); i++){
sb.append(encodeMap.get(String.valueOf(strToEncode.charAt(i))));
}
return sb.toString();
}
public final static String decode(String strToDecode){
if(decodeMap == null){
decodeMap = new HashMapString, String();
decodeMap.put("7", "0");
decodeMap.put("5", "1");
decodeMap.put("9", "2");
decodeMap.put("1", "3");
decodeMap.put("3", "4");
decodeMap.put("6", "5");
decodeMap.put("8", "6");
decodeMap.put("0", "7");
decodeMap.put("2", "8");
decodeMap.put("4", "9");
}
StringBuilder sb = new StringBuilder();
for(int i = 0; i strToDecode.length(); i++){
sb.append(decodeMap.get(String.valueOf(strToDecode.charAt(i))));
}
return sb.toString();
}
}
------------------測(cè)試
C:\Program Files\IBM\RAD 7\jdk\binjava Test
請(qǐng)輸入加密(解密)和要處理的數(shù)字個(gè)數(shù):1為加密,2為解密; 1 6
請(qǐng)輸入要處理的數(shù)字,用空格隔開:1 2 3
Exception in thread "main" java.lang.Exception: 不足6位數(shù)字,請(qǐng)檢查輸入
at Test.main(Test.java:19)
C:\Program Files\IBM\RAD 7\jdk\binjava Test
請(qǐng)輸入加密(解密)和要處理的數(shù)字個(gè)數(shù):1為加密,2為解密; 1 6
請(qǐng)輸入要處理的數(shù)字,用空格隔開:1 2 3 4 5 6 7
太多數(shù)字,將處理前6個(gè)數(shù)字:123456
加密后的數(shù)字是: 591368
C:\Program Files\IBM\RAD 7\jdk\binjava Test
請(qǐng)輸入加密(解密)和要處理的數(shù)字個(gè)數(shù):1為加密,2為解密; 1 6
請(qǐng)輸入要處理的數(shù)字,用空格隔開:1 9 9 7 7 1
加密后的數(shù)字是: 544005
C:\Program Files\IBM\RAD 7\jdk\binjava Test
請(qǐng)輸入加密(解密)和要處理的數(shù)字個(gè)數(shù):1為加密,2為解密; 2 6
請(qǐng)輸入要處理的數(shù)字,用空格隔開:5 4 4 0 0 5
解密后的數(shù)字: 199771
public?static?void?main(String[]?args)?throws?Exception?{??
String?data?=?"itxxz";??
System.out.println("字符串:itxxz");??
System.err.println("加密:"+encrypt(data));??
System.err.println("解密:"+decrypt(encrypt(data)));??
}
運(yùn)行結(jié)果:
由于代碼太多,可到 ?itxxz.com/a/javashili/2014/1217/encrypt_decrypt.html? 查看,注釋也比較完整,清晰易懂
網(wǎng)站欄目:java密碼加密解密代碼,java加密與解密代碼
標(biāo)題路徑:http://chinadenli.net/article6/dsgddog.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務(wù)器托管、網(wǎng)站設(shè)計(jì)公司、外貿(mào)網(wǎng)站建設(shè)、建站公司、定制網(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)