1. 程式人生 > >Java實現加密|加密模板

Java實現加密|加密模板

Java實現加密功能程式碼

其實加密就是用函式對應改變相應字元,比如摺疊加密就是
a<->z, b<->y, …,m<->n
所以其實只要知道加密演算法(就是字元對照規則)很好實現加密功能的


程式碼模板(我省略的部分就是加密演算法)

public class Encrypt {
	public String encryptMessage (String msg) {
	      System.out.println("Message: "+ msg);
	      char[] msgChars = msg.toCharArray();
	      char[] digitArr = getDigitArray();
		  char[] alphabet = getAlphabetArray();
		  
		     for (int m = 0; m < msgChars.length; m++){
		     for(int n = 0; n < 26; n++){
		           if ( msgChars[m] == alphabet[n]){
		              //此處寫小寫字母對應法
		        	  break;
		           }
		           else if ( msgChars[m] == Character.toUpperCase(alphabet[n]) ){
				      //此處寫大寫字母對應法
					  break;
		           }
		        }
	            for(int j = 0; j < 11; j++){
		           if ( msgChars[m] == digitArr[j]){
		            //此處寫數字對應法
		        	  break;
		           }
		        }
		     }
	       System.out.println("Encrypted  message: "+new String(msgChars));
		   return new String(msgChars);
	   }
	   
	private char[] getAlphabetArray(){
	       String str = "abcdefghijklmnopqrstuvwxyz";
		   char[] chArray = str.toCharArray();
		   return chArray;
	  }
	private char[] getDigitArray(){
	       String str = "0123456789";
	  	   char[] chArray = str.toCharArray();
	  	   return chArray;
	  }
}


例子,我們設計一個機密功能使得

a->b,b->c,…,z->a
0->1,1->2,…,9->0

上面就是加密規則,也就是加密演算法
程式碼實現如下

//上面已經把字串轉成陣列,所以我們把每個陣列的值改成對映後的即可
for(int m = 0;m<msgChars.length;m++)
	{
	//因為我們z->a所以我在字母表中在a後面加了一個a,一共27個字母
    for(int n = 0; n < 27; n++){
       if ( msgChars[m] == alphabet[n]){
       
       //凡是檢索到的字母都對映成其後的一個字母
          msgChars[m] = alphabet[n+1];
    	  break;
       }
       
       //大寫的情況
       else if ( msgChars[m] == Character.toUpperCase(alphabet[n]) ){
	      msgChars[m] = Character.toUpperCase(alphabet[n+1]);
		  break;
       }
    }
    
    //數字跟上面一樣
    for(int j = 0; j < 11; j++){
       if ( msgChars[m] == digitArr[j]){
          msgChars[m] = digitArr[j+1];
    	  break;
       }
    }

是不是很簡單

執行結果

在這裡插入圖片描述